Gast
#2605139
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