
RQ: AVR, GCC, Timer, UART, LCD & Sleep-елементарно нивo
RQ: AVR, GCC, Timer, UART, LCD & Sleep - елементарно ниво
Има някакво странно заспиване и спиране на прекъсванията по таймера (ISR(TIMER1_OVF_vect)), когато работя с последователния порт и LCD.
(По-точно - когато викам функции, които ги ползват)
На приложената картинка - симулация, се вижда, че жълтия и червения лъчи спират генерациите (нивата се управляват в ISR(TIMER1_OVF_vect)).
Реших, че е от незнанието ми на ползването на спящите режими на AVR.
Набедих кода
, където sleep_mode() е дефинирано (от Atmel) в sleep.h така:
Аз не съм, а и не намерих някой друг да е дефинирал __DOXYGEN__, така, че минаваме по "else"-то

И сега - питането ми:
Тествам простичка програмка с един главен цикъл в main(), който се обръща към uart_getc така, че стига до цикълчето:
придрямва и всеки път, като се събуди, проверява дали има получен символ. Ако има - завършва функцията, ако няма - пак се унася.
А КАКВО СТАВА С ОСТАНАЛИТЕ апаратни случки (примерно - прекъсванията по таймера)?