Liste der Anhänge anzeigen (Anzahl: 1)
Interruptproblem
Hallo, ich habe ein RN Controll Mega 32 Board und kenne mich mit der C Prog. nur teilweise aus.Ich möchte gerne, dass erst nach einer bestimmten Zeit mein Controller anfängt zu arbeiten, vieleicht so nach 5 Sekunden, die Zeit muß nicht genau sein. Ich wollte dies mit dem Timer0 und Interrupt realisieren, nur leider funktioniert es mit meinem Code nicht und ich weiß nicht so recht warum.Wie kann ich denn überprüfen, ob das Interruptflag nach einem Timeroverflow gesetzt wurde, oder nicht. Bei meinem Programm gehen die LEDs die vom PORTC Lowaktiv angesteuert werden gar nicht an.
Vielen Dank.
Ich habe das gleiche Problem
Hallo,
ich habe diesen Code geschrieben:
#include <avr/io.h>
#include <avr/interrupt.h>
volatile int i;
int main (void)
{
TCCR0 |= (1<<CS00) | (1<<CS02);
TIMSK |= (1<<TOIE0);
sei();
// schleife
while (1)
{
if (i<=10){ //i<=10 sollte sofort erfüllt sein , also LED an
PORTC |= (1<<PC1);
}
cli();
}
}
ISR(TIMER0_OVF_vect)
{
i++;
}
bei mir funzt es aber nicht. Warum wird der Timer immer außerhalb von Sei(); aktiviert? Muss ich eventuell noch andere Einstellungen machen?
Danke und Gruß
Tötzel