Witam! Ostatnio drobny b³¹d w programie kosztowa³ mnie ³adnych kilka dni my?lenia i nerwów. Doszed³em ju¿ o co chodzi, ale ku przestrodze innym... Og³aszam konkurs - pierwsza osoba która zgadnie co jest ?le w poni¿szym kodzie i powoduje wieszanie siê procka dostanie ode mnie piwo.
INTERRUPT (SIG_USART0_RECV) { if (UDR0==' ') odebrano=true; }
Podpowiedzi:
- zmienna odebrano jest zdefiniowana jako bool volatile
- reszta kodu jest ok, przerwania w³¹czone, odbiornik oczywi?cie te¿ itd.
- przerwanie powinno w przypadku odebrania spacji ustawiæ flagê odebrano
- w rzeczywisto?ci gdy _cokolwiek_ przyjdzie na USART0 (niekoniecznie spacja) procek (ATmega 162) wisi
Czekam na poprawne odpowiedzi!