Witam,
Mam Atmege88 i chciałem spróbować napisać obsługę przerwania wew. zegara 16bitowego.
Korzystając z książki, która traktuje o atmedze8 i dokumentacji do atmegi88 udało mi się napisać taki oto mnw. kod:
Niestety przerwanie jakby nienastępuje. Debugowałem kod w AVRStudio, ustawiłem BreakPoint wewnątrz funkcji przerwania i nigdy kod programu do niego nie dociera. Już dłuższy czas się nad tym głowie. Byłbym rad gdyby ktoś podzielił się wiadomością na temat przyczyny braku chęci współpracy uC ze mną.
Z góry dziękuję
Jacek
Mam Atmege88 i chciałem spróbować napisać obsługę przerwania wew. zegara 16bitowego.
Korzystając z książki, która traktuje o atmedze8 i dokumentacji do atmegi88 udało mi się napisać taki oto mnw. kod:
#include<avr/io.h>
#include<avr/interrupt.h>
//(...)
ISR(TIMER1_OVF_vect)
{
// moj kod przerwania
}
ISR(BADISR_vect)
{}
int main()
{
//(...)
//timmer1
TCCR1B = _BV(CS10); // brak preskallera, inkrementacja co cykl proc, (16bit rejestr)
TIMSK0 = _BV(TOIE1);
//TIMSK1 = _BV(TOIE1); // to tez probowałem
while(true)
//(...) itd.
Niestety przerwanie jakby nienastępuje. Debugowałem kod w AVRStudio, ustawiłem BreakPoint wewnątrz funkcji przerwania i nigdy kod programu do niego nie dociera. Już dłuższy czas się nad tym głowie. Byłbym rad gdyby ktoś podzielił się wiadomością na temat przyczyny braku chęci współpracy uC ze mną.
Z góry dziękuję
Jacek