Cześć.
Poniżej znajduje się klasyczna funkcja służąca do obsługi UART'(odbieranie bajtu):
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Funkcja ta jest funkcją nieblokującą, czyli np.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Mi zależy na efekcie zablokowania, tj. funkcja UART_ReceiveByte(void) będzie czekać na nowe dane.
Po nadejściu danej można przejść do dalszej części programu(a w czasie oczekiwania przykładowo będę
resetował układ watchdog).
Czy da się w jakiś prosty i elegancki sposób uzyskać powyższy efekt?
(czytaj:
1. Bez sprawdzania czy poprzedni znak był taki sam jak aktualny(zmiana znaku).
2. Bez przedzielania znaków pewnym określonym separatorem
3. Bez łączenia obu powyższych sposobów(chociaż powinny być skuteczne)
)
Pozdr,
Xionix