mám PIC18F26K22 a zatím jsem si chtěl rozblikat jen pár LEDek a hned tu mám záhadu. Nastavil jsem vnitřní oscilátor a PLL a PICka běhá na 60MHz. Dvě LEDky jsou na pinech RB1 a RB2. Když mám
tak bliká jen RB2. I když prohodím řádky s přiřazením, tak stejně vždy bliká jen ta druhá v pořadí.
Až když dám čekací smyčku za první LEDku, tak blikají obě tak jak mají.
Nevím co dělá ten ACCESS, ješte jsem nenaučil ASM příkazy v řadě PIC18, ale jinak se mi to zdá docela v pořádku.
Nemůže to být tím, že při frekvenci 60MHz není dost času na provedení změny a další operace křekryje tu předešlou?
Je to záhada…
Pozor, je tam ještě takovej chyták:
Pro nastavení pinů používej LATx
Pro čtení pinů používej PORTx
Čtení LATx čte stav výstupu, takže když je pin nastaven jako vstup budeš číst stav LATx, tj. výstupního klopáku, nikoliv pinu.
Takže pokud jsi při inicializaci mazal LATx, tak budeš stále číst samé 0 u vstupů.