Ich habe ein kleines Problem mit der Timer Verarbeitung hier mein Code volatile short status; void init_timer1() { TCCR0 |= (1<<CS00)|(1<<CS02); TIMSK = ( 1 << TOIE0 ); // Overflow Interrupt einschalten sei(); } ISR( TIMER0_OVF_vect ) { switch(counter) { case 3000: if(status==1) { set_LED1(); } break; case 5000: if (status==2) { set_LED2(); } break; } counter++; } Wenn ich die If Anweisung weg nehme werden die LEDs gesetzt. Es scheint als ob er die IF anweisung oder die Variable Status nicht verarbeiten kann wie sollte man es richtig machen?
Poste mal ein komplettes Programm. Insbesondere ist interessant wie und wo status eigentlich seinen Wert bekommt. Aus dem Codeschnipsel da oben kann man nicht wirklich irgendetwas ableiten. Ach ja: Wenn du lieb bist, dann formatierst du deinen Code vorher vernünftig.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.