Gast
#238870
Hallo allerseits, ich verzweifele gerade daran mit einem Reflexkoppler CNY70 einen Interrupt auszulösen, bzw. diesen im Programm abzuarbeiten. Der CNY70 hängt mit dem Collector an PORTD2/INT0 und mit dem Emitter auf Masse. folgende Codeschnippsel verwende ich: SIGNAL(SIG_INTERRUPT0) { PORTB = GRUEN; //setzt die Farbe der LED auf grün return; } void main() { sei(); GICR |=0xC0; PORTC=0x01; // schaltet eine Leuchtdiode ein for(;;) { PORTB = ROT; // setzt die Farbe der LED auf rot } } Wenn also der CNY70 sein Signal bekommt, dann soll er die LED welche standardmässig rot leuchtet auf grün umschalten. Mein Problem ist, das der Interrupt anscheinend ständig ausgelösst wird, und somit die LED immer grün ist. Wenn ich die GICR zeile auskommentiere, bleibt die LED wie erwartet ROT bin auf dem Gebiet noch sehr grün hinter den Ohren und konnte hierzu keine weiteren Informationen finden. Vielen Dank schonmal Gruß Stephan