ATNEL tech-forum
https://forum.atnel.pl/

Nie działa przerwanie RXC od UARTa
https://forum.atnel.pl/topic19005.html
Strona 1 z 1

Autor:  zb111112 [ 15 sie 2017, o 22:08 ]
Tytuł:  Nie działa przerwanie RXC od UARTa

Witam mam problem. Chciałem uruchomić transmisję RS232 z pomocą przerwania odbioru RXC, aby odbiór odbywał się w tle. Niestety to przerwanie w ogóle się nie wykonuje i nie wiem dlaczego. Wcześniej zrobiłem komunikację między PC a Atmegą8 w trybie pollingu i było wszystko okej. Czyli terminal w PC jest dobrze ustawiony, i cały układ jest dobrze podłączony. Użyłem przejściówki RS232-USB na układzie PL-2303HX. Poniżej zamieszczam kod,

jest to plik uart.c
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


dodatkowo mam jeszcze plik main.c
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Powyżczy program powinien wyświetlać: początkowy numer bufora, końcowy numer bufora, ilość wykonanych przerwań, oraz rejestr UCSRA. I wygląda to następująco. Jak wgram program do Atmegi wyświetla mi się takie coś:
Obrazek

a kiedy wyślę jakiś znak z terminala do atmegi to mam takie coś:
Obrazek
i ten rejestr już się nie zmienia, wskazuje to że są jakieś pliki do odebrania ale procesor nie umi sobie z tym poradzić.
Bardzo bym prosił o pomoc XD

Autor:  HomoChemicus [ 15 sie 2017, o 22:48 ]
Tytuł:  Re: Nie działa przerwanie RXC od UARTa

Spójrz na inicjalizację. Najpierw masz: UCSRB|= (1<<RXCIE); a potem: UCSRB = (1<<RXEN)|(1<<TXEN);

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/