the_maniac
29.05.2008, 23:46
Hallo,
Programmiere seit kurzem mit dem ATMega doch ich bekomme einfach keinen Timer zu laufen.
Ich wollte es ohne Interrupt programmieren also mit Overflow
Ich hab den Timer0 auf 1/1024 eingstellt.
Danach wollte ich die Abfrage nach nem Overflowso realisiern:
if(bit_is_set(TIFR,0)) //Wenn das TOV0 gesetzt wird (0.Bit) müsste ja 1 drinstehen
{
TIFR |= (1<<TOV0); //das Bit rücksetzen
cnt++;
}
if(cnt>=100)
{
cnt=0;
PORTB |= (1<<PB0);
}
PORTB &= ~(1<<PB0);
als 2.te Möglichkeit um das TOV0 Register auf gesetzt zu überprüfen wollte ich das machen
if(TIFR & (1 << 0))
{
.....
}
was kann jeweils dran falsch sein ?
mfg
Programmiere seit kurzem mit dem ATMega doch ich bekomme einfach keinen Timer zu laufen.
Ich wollte es ohne Interrupt programmieren also mit Overflow
Ich hab den Timer0 auf 1/1024 eingstellt.
Danach wollte ich die Abfrage nach nem Overflowso realisiern:
if(bit_is_set(TIFR,0)) //Wenn das TOV0 gesetzt wird (0.Bit) müsste ja 1 drinstehen
{
TIFR |= (1<<TOV0); //das Bit rücksetzen
cnt++;
}
if(cnt>=100)
{
cnt=0;
PORTB |= (1<<PB0);
}
PORTB &= ~(1<<PB0);
als 2.te Möglichkeit um das TOV0 Register auf gesetzt zu überprüfen wollte ich das machen
if(TIFR & (1 << 0))
{
.....
}
was kann jeweils dran falsch sein ?
mfg