[elektro] 16F688 PCLATH probléma
Horváth Tibor
h68tibor at freemail.hu
Wed Jan 12 10:15:19 CET 2011
Szia!
Eloször is köszi, hogy idot szakítottál rá. Bízom benne, hogy másnak is
hasznos lehet, ha megbeszéljük:
PC 13 bit széles, ez 0000-1FFF programmemóriát tenne lehetové, de a PIC-ben
csak 0000-0FFF van implementálva. Így a PC 12. bitjének (PCLATH 4. bitjének)
nincs jelentosége.
Sima goto esetén (ha nem piszkáljuk a PC regisztert, tehát nem computed
goto) akkor a 800H vagy a feletti címre ugrásnál be kell állítani a
PCLATH.3-at. (2.3 fejezet.)
És ami megszivatott: 11.4-es fejezetnél a megjegyzés elso mondata:
Note: The PIC16F688 normally does not require saving the PCLATH. However, if
computed GOTO's are used in the ISR and the main code, the PCLATH must be
saved and restored in the ISR.
Szóval, kérdés, hogy mit értünk normális esetnek? :) Eléggé félreértheto.
Köszi,
Tibi
----- Original Message -----
From: "Gál Zsolt" <tralitoverin at freemail.hu>
To: <elektro at tesla.hu>
Sent: Wednesday, January 12, 2011 9:00 AM
Subject: Re: [elektro] 16F688 PCLATH probléma
Na most már látom, hogy 9 bit széles memóriatartománya van 688-nak. A
computed goto csak 8bitet kezel, ezért ott kell a PCLATH, viszont
normál goto és call esetén simán belefér a 9 bitbe. Ezért ha a
megszakításban nem használsz computed goto-utasítást, akkor nem kell
menteni a PCLATH értékét sem.
Gál Zsolt <tralitoverin at freemail.hu> írta (2011. január 12. 8:50):
> Ezt jól elnéztem.
>
> A 16F88 adatlapjából idéztem.
>
-----------------------------------------
elektro[-flame|-etc]
More information about the Elektro
mailing list