Verständnisproblem Interrupts

Gast #2605139
Lesenswert?

Hallo,
ich versuche gerade mit C und Atmega 8 über die serielle Schnittstelle 
per UART zu kommunizieren und benutze ISR(USART_RXC_vect) aus dem 
Tutorial.
Innerhalb der Interruptroutine schalte ich für 10 ms eine LED an um zu 
sehen, ob die Routine auch abgearbeitet wird, also etwas empfangen 
wurde.
Jetzt habe ich vor meiner Hauptschleife mit cli(); eigentlich alle 
Interrupts deaktiviert und trotzdem leuchtet die LED wenn ich ein 
Zeichen sende. Warum? Eigentlich sollten doch alle Interrupts gesperrt 
sein, oder?
Sei() kommt nicht vor im Code.
Ich werte zwei Sensoren aus, die von Interrupts nicht gestört werden 
dürfen, deshalb wollte ich eigentlich vor der Messung die Interrupts mit 
Cli() ausschalten und nach der Messung bzw. vor der Verarbeitung der 
Messwerte mit sei() wieder einschalten, da das nicht ging bin ich auf 
mein Problem aufmerksam geworden. Danke für alle Tipps!
Viele Grüße
Stefan

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren