Witam Serdecznie
Na początek kod:
Problem następujący:
Przy aktywnym timerze kod w pętli while przestaje być wykonywany w momencie napotkania _delay_ms o dowolnej wartości.
Jeśli wyrzucę przerwania od timera ( //sei(); ), delay działa nawet z wartościami rzędu 5000 i więcej.
Atmega działa na wewnętrznym oscylatorze 4Mhz, a kod piszę w Eclipse.
Czyżby w momencie aktywnych przerwań niemożliwym było korzystanie z jakichkolwiek opóźnień w programie głównym?
Trochę mnie to wprawiło w zakłopotanie, gdyż mam do napisania obsługę programowego pwm dla 8 ledów rgb z akcelerometrem i komunikacją radiową na pokładzie.
Na początek kod:
Kod: C / C++
Problem następujący:
Przy aktywnym timerze kod w pętli while przestaje być wykonywany w momencie napotkania _delay_ms o dowolnej wartości.
Jeśli wyrzucę przerwania od timera ( //sei(); ), delay działa nawet z wartościami rzędu 5000 i więcej.
Atmega działa na wewnętrznym oscylatorze 4Mhz, a kod piszę w Eclipse.
Czyżby w momencie aktywnych przerwań niemożliwym było korzystanie z jakichkolwiek opóźnień w programie głównym?
Trochę mnie to wprawiło w zakłopotanie, gdyż mam do napisania obsługę programowego pwm dla 8 ledów rgb z akcelerometrem i komunikacją radiową na pokładzie.