Nove PIC16 a PIC18 - Porty
Jindrich Fucik
FULDA na seznam.cz
Pondělí Červen 24 14:58:49 CEST 2024
Ano, LATx je ta jedna paměťová buňka navíc.
A pozor na moje P.S. - těžko se chce věřit tomu, že BSF a BCF dělají read/modify/write celého bajtu, ale je to tak. Ten procesor dělá tuhle trojici vlastně pži každé instrukci, jen je otázka, jestli to tak člověk vnímá.
---------- Původní e-mail ----------
Od: Jan Waclawek <konfera na efton.sk>
Komu: HW-news <hw-list na list.hw.cz>
Datum: 24. 6. 2024 14:37:38
Předmět: Re: Nove PIC16 a PIC18 - Porty
[preposielam]
Ahojte,
dakujem vsetkym za odpovede. Takze to LATx eliminuje vlastne potrebu jednej
pamatovej bunky RAM na buffer portu. Ja sa snazim vsade pouzivat
instrukcie BCF a BSF a na vstup BTFSS a BTFSC. Takze tie chyby velmi
nevidim. Prepisem teda vsetky vystupy na PORTx na registre LATx. Sice budem
musiet prepisat cely include file s definiciami pinov, ale neda sa nic
robit, doba pokrocila, tak musim ist s dobou aj ja. :)
A.
>>>
Ahoj,
Problém je se čtením.
Tedy pokud máš na daném portu něco, co je citlivé na čtení, tak zápis
do PORT* ti provede čtení/modifikace/zápis. Zatímco zápis do LAT*
neprovede čtení toho portu, ale jen toho, co se minule zapsalo.
Běžné problémy kdy to vadí jsou:
1) čtení smaže interrupt on change, takže pokud máš na stejném portu
IoC, tak si teoreticky můžeš smazat jeho přísnak dřív než se
vyhodnotí.
2) při použití open drain - zapsal jsi 1, ale někdo jiný na stejnou
linku píše 0, takže se při čtení přečte 0 a zapíše se i do tvého
výstupu.
P.S. - na PICech je každá operace čtení/modifikace/zápis, ačkoli se to
ne vždy zdá. Třeba u operací typu BSF se tomu člověku nechce věřit.
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list