Witam.
Na magistrali TWI jest PCF8583 odpytywany co 1 sekundę. Działało bez zarzutu. Dołożyłem PCF8574 i tak nieszczęśliwie (a właściwie szczęśliwie, bo dzięki temu znalazłem nieścisłość, o której piszę) zastosowałem procedurę jego obsługi w pętli głównej, że układ był na okrągło atakowany komendami z procesora. Układ przestał działać. Dragon pomógł sprawdzić, że program utyka w procedurze "TWI_stop()",
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
.
W googlach ktoś komuś radził, żeby usunąć wykrzyknik z tej instrukcji. Znalazłem kilka źródeł, gdzie faktycznie tego wykrzyknika nie ma. Tutaj moje pytanie: powinien być, czy nie? Czekamy na wystawienie stanu niskiego, czy wysokiego (bo do tego się to de facto sprowadza)?
Kiedy powyższą instrukcję zastąpiłem
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
układ działa poprawnie. Nawet przy atakowaniu PCF8574 bez przerwy w pętli głównej (docelowo to zmienię).
W erracie Mirka dot. TWI jest tylko dodatkowa funkcja ustawiająca "bitrate", ale funkcja "stop" jest bez zmian.
Mógłby mnie ktoś oświecić jakimś linkiem lub bezpośrednim wytłumaczeniem?
pozdrawiam