08-23-2021, 09:29 PM
Probao sam da uradim nesto sa tajmer1 registrom za spoljni takt,na pr ovde bi,bar tako mislim trebalo kad pritisnem taster sedmi put da upali led i na sedmi put da ugasi ali led se pali nekontrolisano,nekad na prvi nekad treci put...kad kako.Uredu je da zbog odskakanja tastera nemoze precizno ali stavim vrednost 65500 i upali se na pr posle treceg pritiska tastera.Gde sad gresim? Mislim da bi moralo ovako da radi:
int timer1_counter;
void setup()
{
pinMode(13, OUTPUT);
noInterrupts();
TCCR1A = 0;
TCCR1B = 0;
timer1_counter = 65530;
TCNT1 = timer1_counter;
TCCR1B |= (1 << CS12)+(1 << CS11)+(1 << CS10); //ulaz na 5.pin
TIMSK1 |= (1 << TOIE1);
interrupts();
}
ISR(TIMER1_OVF_vect)
{
TCNT1 = timer1_counter;
digitalWrite(13, digitalRead(13) ^ 1);
}
void loop() {
}
int timer1_counter;
void setup()
{
pinMode(13, OUTPUT);
noInterrupts();
TCCR1A = 0;
TCCR1B = 0;
timer1_counter = 65530;
TCNT1 = timer1_counter;
TCCR1B |= (1 << CS12)+(1 << CS11)+(1 << CS10); //ulaz na 5.pin
TIMSK1 |= (1 << TOIE1);
interrupts();
}
ISR(TIMER1_OVF_vect)
{
TCNT1 = timer1_counter;
digitalWrite(13, digitalRead(13) ^ 1);
}
void loop() {
}