WItam
W projekcie na Atmega328p wymagane są dwa UARTy, próbuję zrealizować drugi jako programowy którego odbiór danych miałby być uruchamiany przerwaniem INT0, mam kłopot z zerowaniem flagi EIFR przerwania, odbiór 1 bajtu danych wywołuje 2x wejście do przerwania, kombinuję by wejście do przerwania kasowało rejestry flagi INT0 jednak obojętnie czy piszę 0 czy 1 do EIFR to tak mam zawsze dwie 2x wywołane przerwanie... pytanie jak skutecznie to rozwiązać, ew. jak dobrze zrobić programowy UART który nie blokuje głównego programu a jest obsługiwany tylko wtedy gdy przyjdzie na niego bajt danych
"
"
W projekcie na Atmega328p wymagane są dwa UARTy, próbuję zrealizować drugi jako programowy którego odbiór danych miałby być uruchamiany przerwaniem INT0, mam kłopot z zerowaniem flagi EIFR przerwania, odbiór 1 bajtu danych wywołuje 2x wejście do przerwania, kombinuję by wejście do przerwania kasowało rejestry flagi INT0 jednak obojętnie czy piszę 0 czy 1 do EIFR to tak mam zawsze dwie 2x wywołane przerwanie... pytanie jak skutecznie to rozwiązać, ew. jak dobrze zrobić programowy UART który nie blokuje głównego programu a jest obsługiwany tylko wtedy gdy przyjdzie na niego bajt danych
"
Kod: VB.net
"