[elektro] PIC16F84...grrrr

Skandar Graun sgraun at gmail.com
Sat Jan 5 21:29:40 CET 2008


Te belefutottál abba a többeket szívató problémába, amit úgy hívnak:
read-modify-write. Emiatt, ha bit szinten írod a portot, azt először
visszaolvassa, majd azoknak az értékekenek megfelelően írja vissza.
(közben Ágó már írt is róla)
Hozz létre egy tükörregisztert, abba módosíts, majd teljes
regiszterszinten írd ki:
#define led1 portmirror,0
#define led2 portmirror,1

bsf led1
bcf led2
movf portmirror,w
movwf porta

így menni fog

Info <info at kiralyelektronika.hu> írta, 2008.01.05.:
> Szia !
>
> > Hmm. az errata azt mondja, hogy _olvasás_ után ne legyen közvetlenül bsf/bcf
> > az EECON1 regiszteren. Hogy volt nálad a kód, ami nem működik?
>
> Egyszerű kimeneti ledeket kapcsolgatok (csak többet):
>         btfss prog_stat, 1
>         goto  tovabb1
>         bsf   led1
>         bcf   led2
>         call  ezmegaz
>         kiertekeles
>         goto  vége
> tovabb1  btfss prog_stat, 2
>         bcf   led1
>         bsf   led2
> ...
>
> és azt tapasztaltam, hogy a program jól fut, de önnállóan hol
> végrehajtja a bsf-et hol nem, mint a mesében...
> Most kipróbálom, hogy a bcf-eket bsf-elé rakva fut-e...
>
> -----------------------------------------
>          elektro[-flame|-etc]
>


More information about the Elektro mailing list