Po dlhsej odmlke vas zas zravim
Rozbehavam 4550, ale vykazuje velmi divne spravanie.
Posudte sami:
PortB cely osadim LEDkami, portD cely osadim ledkami.
spustim program a udeje sa nasledovne: Bport zrotuje 0 - 5LED, spolu s tym sa zrotuje portD 0 - 7LED a zhasne. Potom si portB zrotuje este raz 0 - 5 a uz sa nic nezapali Kde vidite mozny problem ?
[code]list P=18F4550
include <p18F4550.inc>
config WDT = OFF, MCLRE = OFF, FOSC = INTOSCIO_EC, LVP = OFF, FCMEN = OFF
config IESO = OFF, PWRT = ON, PBADEN = OFF, LPT1OSC = OFF , BOR = OFF
Nevím, zda je to i případ tohoto procesoru, ale instrukce bývají často dvoubajtové, proto $-2 skočí sám na sebe. Když se vykoná, jsi za goto, o instrukci výše(o 2B) je opět goto .
No, takze taketo vyjadrenia ze skoky o urcite cislo nebudem pouzivat, prerobil som to cez navestia, funguje. Problem s “GOTO” ale nevysvetluje to zvlastne spravanie pri rotovani portov. Uz sa kus znormalizovalo, uz rotuju furt dookola, akurat ze portD ide zo stavu 7 do stavu 0, zatial co portB sa cely zhasne a pri druhej rotacii to robia porty naopak, neviem si to velmi vysvetlit,…
ee v ASM sa urcite pisu bez “:”
Aha, myslis ze prvy port si to vezme do prveho bitu a druhy uz ma nulovy carry,… no je to mozne. Asi sa prestanem hrat z hovadinami a zacnem rozbehavat neco dolezitejsie na tom mcu.