Forum: Compiler & IDEs AT90USB Interrupt wird nicht ausgelöst


von PEte (Gast)


Lesenswert?

Hi,
Ich möchte wenn INT4 High ist (:-)) ein Interrupt auslösen. Darin soll 
nur der Status einer Variable geändert werden. Funktioniert aber leider 
nicht :(
1
#include <avr/interrupt.h>
2
#include <avr/io.h>
3
4
volatile bool state = false; 
5
6
ISR(INT4_vect) 
7
{
8
    state = !state; //Set state NOT
9
}
10
11
int main(void)
12
{ 
13
  sei(); 
14
  while(1)
15
  {
16
    if(state == true){
17
    blinken();
18
        }     
19
20
    }
21
   return 0;
22
}
Warum ist ändert sich state nie? Bzw. Warum wird das Interrupt nie 
gestartet?

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

PEte schrieb:
> Warum ist ändert sich state nie? Bzw. Warum wird das Interrupt nie
> gestartet?

Weil du den Interrupt nicht korrekt initialisierst. In Kapitel 11 des 
Datenblatts findest du alle Antworten.

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
Noch kein Account? Hier anmelden.