Potrzebuję zrealizować komunikację przez USART z możliwością obsługi przerwań.
Chodzi o to, że w czasie odczytu danych z enkodera chcę móc wywołać przerwanie od danych przychodzących z komputera. Nie bardzo wiem jak się za to zabrać. Nie mogę używać strumieni do pobierania danych z USART bo mogły by zablokować cały program (getch lub scanf).
Chciałem obsługiwać przerwania z RX by móc przesyłać 5-10 znaków z kolejnymi paczkami danych. Odczyt będzie dość rzadki, ale nie chcę zgubić informacji z enkodera.
Można to jakoś rozsądnie zrealizować?
Od czego zacząć?
Czy jest sens męczyć się i próbować używać DMA na RX? Do tej pory nie musiałem tego używać, ale zmieniła się koncepcja dot. programu i próbuję to jakoś rozwiązać.
Dodano po 26 [minuty]:
Znalazłem taki artykuł: Xmega Tutorial - USART. Nie wiem tylko do czego służy USART_RXComplete().
Chodzi o to, że w czasie odczytu danych z enkodera chcę móc wywołać przerwanie od danych przychodzących z komputera. Nie bardzo wiem jak się za to zabrać. Nie mogę używać strumieni do pobierania danych z USART bo mogły by zablokować cały program (getch lub scanf).
Chciałem obsługiwać przerwania z RX by móc przesyłać 5-10 znaków z kolejnymi paczkami danych. Odczyt będzie dość rzadki, ale nie chcę zgubić informacji z enkodera.
Można to jakoś rozsądnie zrealizować?
Od czego zacząć?
Czy jest sens męczyć się i próbować używać DMA na RX? Do tej pory nie musiałem tego używać, ale zmieniła się koncepcja dot. programu i próbuję to jakoś rozwiązać.
Dodano po 26 [minuty]:
Znalazłem taki artykuł: Xmega Tutorial - USART. Nie wiem tylko do czego służy USART_RXComplete().