Witam
Dziś doświadczyłem ciekawego problemu z obsługą przerwań
najpierw kod :
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
opis tak w skrócie:
najpierw inicjacja UART, LED,enkodera (włączenie obsługi przerwań)
Pętla while w nieskończoność
a w niej najważniejsze to:
wysłanie na led ,uart
i na końcu delay
Problem:
w takiej formie program działa ale obsługa przerwań wykonuje tylko else (zmienna--)
gdy zakomentuje uart_putc(zmienna); program działa prawidłowo;
ale...
jeśli pozostawię uart_putc(zmienna); i zmniejszę delay na 100 program tez prawidłowo działa
nie rozumie jak delay jak i uart wpływa na prace programu
Uart na pewno korzysta z przerwań to oczywiste musi, aby wysłać szeregowo dane ale delay ? Nie wiem jak jest skonstruowana funkcja nie zagłębiam się w biblioteki bo to za wysokie progi
może ktoś dostrzeże ewidentny błąd popełniany przez nowicjuszy bo ja nie potrafię
każde uwagi mile widziane
pozdrawiam