Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   484 / 1319
(#) kisszee válasza trudnai hozzászólására (») Máj 14, 2009 /
 
Korrekt, köszönöm.
(#) KipKap válasza icserny hozzászólására (») Máj 14, 2009 /
 
Hát mert az működött helyesen abban a konkrét esetben. Ha nem így lett volna, nem írtam volna a fórumba...
(#) KipKap válasza trudnai hozzászólására (») Máj 14, 2009 /
 

MOVLA nincs. oké. Legyen hát munkaregiszter!
(#) icserny válasza KipKap hozzászólására (») Máj 14, 2009 /
 
Próbáld észrevenni, hogy valami nem stimmel, mert ellentmondás van az általad leírt állítások között!

1. Most akkor 12-őt akartál a munkaregiszterbe tölteni
2. Vagy a 12. memóriarekesz tartalmát akartad elővenni
x. Rosszul emlékszel, hogy mi volt a jó utasítás
(#) trudnai válasza icserny hozzászólására (») Máj 14, 2009 /
 
Idézet:
„1. Most akkor 12-őt akartál a munkaregiszterbe tölteni
2. Vagy a 12. memóriarekesz tartalmát akartad elővenni
x. Rosszul emlékszel, hogy mi volt a jó utasítás”


Tenyleg jo lenne ha Topi betenne azt a szavazasi lehetoseget

Nekem lenne egy Y. valasz lehetoseg is: 0x0C memoria rekeszben mar 12 volt egy elozo probalkozas miatt es ezert volt "sikeres" a muvelet
(#) KipKap válasza icserny hozzászólására (») Máj 14, 2009 /
 
Azt gondolom, hogy rosszul fogalmaztam meg a kérdésemet. $0c-t akartam a munkaregiszterbe tenni, illetve tettem (movlw 0x0c) is csak szubrutin hívása után már nem $0c volt benne, hanem valami más... Máig nem értem miért, de az assembler újraindítását követően helyreállt a rend... a MOVF-el val.szeg hihetetlen szerencsém volt, hogy pont $0c volt ott, ezért tűnt jónak.
Más: a MOVF utasítással tényleg nem voltam tisztában most használtam először és sokat megtudtam róla Tőletek, kösz érte!
Jogos: az adatlapból is megtudhattam volna, csak álmomban sem gondoltam hogy a memóriarekesz tartalmát mozgatom az adat helyett. Tehát nem gondoltam volna, hogy movf 0x0c,temp <> movlw 0x0c,movwf temp. (visz. mov ax,bx)
Oké, ez nem mentség, tanulságot levontam: előbb tájékozódj, aztán kérdezz!
Köszönöm a segítségeteket! :yes:
(#) KipKap válasza trudnai hozzászólására (») Máj 14, 2009 /
 
NYERT!
(#) watt válasza KipKap hozzászólására (») Máj 15, 2009 /
 
Azt írod, hogy a W-be akartál 12-őt tenni. Az adatlap utasítás készletében ez a
  1. MOVLW 0x0c

A
  1. MOVLW 0x0c
  2. MOVF    temp

A célod szempontjából megegyezik az eredeti szándékoddal, mert a MOVF nem rontja el a W tartalmát.

Így eleve nem értem mi okból nem volt jó a W tartalma a szubrutin hívása után!?
Lehet, hogy közben egy megszakítás elrontotta, feltéve, ha van megszakításod és nincs rendesen lekezelve a fontos regiszterek mentése. Más egyéb ok nem lehet, kivéve az operációs rendszered és az MPLAB működésében fellépő anomáliát, ami szintén elég valószínűtlen, de nem kizárható.
(#) trudnai válasza KipKap hozzászólására (») Máj 15, 2009 /
 
Idézet:
„MOVLA nincs. oké. Legyen hát munkaregiszter!”


Lehet gunyolodni, de pl epp ma reggel botlottam ebbe a kodba:
  1. 030E A6 17    LDA #$17
  2. 0310 B7 EA    STA $EA
  3. 0312 A6 04    LDA #$04
  4. 0314 B7 E9    STA $E9

Ez egy MC68HC705C8 MCU-nak egy kod reszlete. Ha az ember tudja, hogy a Motorola csalad hasznalja az "Accumulator" kifejezest, akkor az adott kod egeszen konnyeden megertheto.
(#) icserny válasza trudnai hozzászólására (») Máj 15, 2009 /
 
Nem is kell ilyen messzire menni példáért, hiszen a Microchip dsPIC30/33 SCU-jaiban is van akkumulátor regiszter (mindjárt kettő is!) és a MAC utasítások neve a Multiply and Accumulate (szorzás és szummázás) műveletet takarja.
(#) kissi válasza trudnai hozzászólására (») Máj 15, 2009 /
 
Nem értem a problémát... Van olyan gyártó, aki "accumulator"-nak, van, amelyik "work register"-nek nevezi "ugyanazt a funkciót ellátó regisztert ( a műveletek során az operandusok egyike legtöbbször itt helyezkedik el!), ebben mi a gond?

Steve
(#) trudnai válasza kissi hozzászólására (») Máj 15, 2009 /
 
Idézet:
„Nem értem a problémát... Van olyan gyártó, aki "accumulator"-nak, van, amelyik "work register"-nek nevezi "ugyanazt a funkciót ellátó regisztert ( a műveletek során az operandusok egyike legtöbbször itt helyezkedik el!), ebben mi a gond?”


Nekem ugyan nem gond, csak ha nem azt a terminologiat hasznaljuk amit a gyarto, akkor tobb problemaba is utkozunk:

1. Lehet a masik szakember nem fogja megerteni mirol is beszelunk

2. Nem fogjuk megtalalni a kivant informaciot a keresokkel mivel rossz kifejezesre keresunk ra

3. Mint amire mar ra szerettem volna vilagitani az utasitasok elnevezesei gyakran hordozzak a funkciojukat, es ha ismerjuk a gyarto terminologiajat akkor az utasitasok nevenek lekepzese is logikus igy konyebb megjegyezni + gondolkodni vele

4. Ahogy Icserny ravilagitott a DSP PIC-ekben vannak Work registerek is es van 2 db un. Accumulator amik pl reszeredmenyeket kepesek akkumulalni (osszegezni). Ha tevesen a munka regisztert hivtuk korabban akkumulatornak akkor nehezebb lesz megerteni a kuonbseget + ujfent bonyodalmakat fog okozni mikor egy problema leirasnal a forumon akkumulatorrol beszel valaki es a masik meg gondolkodik, hogy "Na de a PIC 18F-ben nincs is akkumulator, az csak a dsPIC-ben letezik"
(#) icserny válasza kissi hozzászólására (») Máj 15, 2009 /
 
Lehet, hogy tévedek, de főleg abban az esetben szokásos az akkumulátor regiszter elnevezés, hogy egyedi, kitüntetett szerepű, az ALU-ban elhelyezkedő regiszterről van szó.

Ahol pl. az összeadáshoz vagy egyéb művelethez több, egyenértékű regiszter is felhasználható, ott inkább munkaregiszterről, általános célú regiszterekről szokás beszélni.
(#) steev hozzászólása Máj 15, 2009 /
 
Szeretnék egy tömböt definiálni asm-ban (dsPic30F), és a tömb elemeit szeretném programból beolvasni, hogy tudnám ezt megcsinálni?

(#) watt válasza steev hozzászólására (») Máj 15, 2009 /
 
Sehogy.
Ismered a DSP utasításokat és a velük összefüggő munka regiszterek speciális feladatait?
Ha lefoglalsz egy területet a RAM-ban, akkor a megfelelő munka(Wx) regiszterekbe töltött RAM címmel lehet műveleteket végezni a megcímzett rekesz tartalmával(ill. regiszterek tartalmaival). Ez hasonlít a tömbkezeléshez, de asm-ban nincsenek tömbök, mint a C-ben...
(#) Hp41C válasza Hp41C hozzászólására (») Máj 15, 2009 /
 
Szia!
Megvan a hiba. Persze men ott volt, ahol kerestem. A word cím növelését véletlenül kitöröltem....

(#) steev válasza watt hozzászólására (») Máj 15, 2009 /
 
Csak most ismerkedek a PIC-el és az assemlyvel, a DSP-ről már ne is beszéljünk . Egy pár alap feladatot már megoldottam, LED, kapcsoló használat, ilyemit, csak annyi az információ a programozással kapcsolatban és kevés a jól magyarázott példa, hogy nem tudom hol kellene keresni az infót.

Melyik parancsot lenne jó nekem? Most éppen a PSV-vel kapcsolatos dolgokat tanulmányozom...
(#) trudnai válasza icserny hozzászólására (») Máj 15, 2009 /
 
Idézet:
„Lehet, hogy tévedek, de főleg abban az esetben szokásos az akkumulátor regiszter elnevezés, hogy egyedi, kitüntetett szerepű, az ALU-ban elhelyezkedő regiszterről van szó.

Ahol pl. az összeadáshoz vagy egyéb művelethez több, egyenértékű regiszter is felhasználható, ott inkább munkaregiszterről, általános célú regiszterekről szokás beszélni.”


Most picit olvasgattam, hogy mik derulnek ki! Az Accumulatort John Von Neumann talalta ki, hogy csokkentse a koltsegeket.

Igazandibol a fo kulonbseg, hogy az ALU ha csak az Accu-ba kepes dolgozni, akkor beszelunk igazi Accumulator-architekturarol. Ha kepes mashova is eltarolni a szamitas adatait akkor pedig regiszter-architekturarol beszelunk.

Nos, mivel a PIC kepes a szamitas vegeredmenyet eltarolni regiszterbe, ezert en nem neveznem akkumulator-architekturanak. De mivel nem kepes ket regiszter tartalmat kozvetlen ossze adni, ezert tisztan regiszter-architekturanak sem lehet nevezni. Valoszinuleg ez a ketto kozotti dolog az amit munkaregiszter-architekturanak lehetne hivni es akkor lehetunk a legkozelebb a talany megoldasahoz, de sajnos eddig nem talaltam ezzel kapcsolatosan konkret infot -- majd a neten meg nezelodom a hetvegen.

Talan a dsPIC mar inkabb tekintheto regiszter architekturanak, nem tudom.
(#) trudnai válasza steev hozzászólására (») Máj 15, 2009 /
 
Assembly, vagy C vagy esetleg Alma++ nyelven dolgozol?
(#) steev válasza trudnai hozzászólására (») Máj 15, 2009 /
 
Assembly.
(#) watt válasza steev hozzászólására (») Máj 15, 2009 /
 
dsPIC-el kezdesz? Vagy már ismered a többi PIC-et?
(#) steev válasza watt hozzászólására (») Máj 15, 2009 /
 
Foglalkoztam már alapszinten PIC16-tal. Igazából a dsPIC nekem nem a DSP utasítások miatt kell, hanem legfőképpen a 12bites AD miatt. Vannak még hiányosságaim, de folyamatosan pótolom.
(#) icserny válasza steev hozzászólására (») Máj 15, 2009 /
 
Idézet:
„Szeretnék egy tömböt definiálni asm-ban (dsPic30F), és a tömb elemeit szeretném programból beolvasni, hogy tudnám ezt megcsinálni?”

Nézd meg nálam, a Mutatók, tömbök, szubrutinok c. fejezetben! A PSV használata is le van benne írva.

Ne zavarjon, hogy a leírás PIC24-ről beszél, annak az utasításkészletét is a dsPIC30F/33F Programmer's Reference Manual írja le. :yes:
(#) trudnai válasza steev hozzászólására (») Máj 15, 2009 /
 
Icserny-nek van egy beosztottja, egy duracell nyuszi Soha nem pihen le es ilyen oldalakat csinal:

Ezt lattad mar?
(#) trudnai válasza icserny hozzászólására (») Máj 15, 2009 /
 
megeloztel
(#) steev válasza icserny hozzászólására (») Máj 15, 2009 /
 
Basszus a Te oldalad keresem már többször de nem találtam Nemrég már nézegettem csak nem mentettem el a címét.
Köszi nektek Átnézem.
(#) watt válasza steev hozzászólására (») Máj 15, 2009 /
 
Nem lesz könnyű menet.
A 18F-ek között is van 12btes A/D egyébként.
(#) tallerbator hozzászólása Máj 15, 2009 /
 
Sziasztok!

Van egy PIC16f716-om és az a problémám, hogy a program négyszer-ötször végigmegy aztán pedig leáll, után hiába resetelem csak az RB0-n világít a LED. Leveszem a tápot visszarakom rá, semmi csak az segít ha újra beprogramozom. A PIC belső RC oszcillátorról megy.
Szerintetek mi lehet a probléma? Egyszer véletlenül fordítva raktam bele a programozóba lehet, hogy ekkor tönkretettem?

Előre is köszönöm a válaszokat
(#) szilva válasza tallerbator hozzászólására (») Máj 15, 2009 /
 
Mondjuk a program nélkül semmit nem lehet mondani erre. De ahogy nézem, a 16F716-nak nincs is belső oszcillátora. Akkor mi is történt pontosan?
(#) tallerbator válasza szilva hozzászólására (») Máj 15, 2009 /
 
Van belső oszcillátora. Végülis csak a 7805-ös ic volt rossz kicseréltem és most működik rendesen.
Következő: »»   484 / 1319
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem