Witam serdecznie,
Napisałem bardzo prosty program do migania diody oparty na timerze i przerwaniach. Procesor resetuje się w momencie uruchomienia przerwań i zaczyna wszystko od nowa. Jeśli chodzi o zasilanie, układ zasilany jest z akumulatora przy samym procesorze są kondensator 100nF i 4,7uF.
O dziwo wczoraj program działał, ale tylko w przypadku wyłączonego preskalera i wartości początkowej równej wyższej 0xCD. Co może być nie tak i dlaczego procesor raz działa a raz nie?
Napisałem bardzo prosty program do migania diody oparty na timerze i przerwaniach. Procesor resetuje się w momencie uruchomienia przerwań i zaczyna wszystko od nowa. Jeśli chodzi o zasilanie, układ zasilany jest z akumulatora przy samym procesorze są kondensator 100nF i 4,7uF.
#include <avr/io.h>
#include <avr/interrupt.h>
int a,b;
ISR(TIMER2_OVF_vect)
{
TCNT2 = 0x00;
PORTD ^= _BV(PD3);
}
int main (void)
{
DDRD = 0x08;
PORTD |= _BV(PD3);
TCCR2 = 0x01;
TCNT2 = 0x00;
TIMSK = 0x80;
sei();
while(1);
}
O dziwo wczoraj program działał, ale tylko w przypadku wyłączonego preskalera i wartości początkowej równej wyższej 0xCD. Co może być nie tak i dlaczego procesor raz działa a raz nie?