ISR Routine, merkwürdiges Verhalten?

Gast #1400081
Lesenswert?

Hallo

ich arbeite gerade an einer seriellen schnittstelle und habe folgendes 
problem:

Ich möchte ganz einfach nach erhalt eines bytes, eine led einschalten.
Allerdings klappt das nur, wenn ich die Zeile "Byte = UDR;" lösche.
Mache ich es so wie unten gezeigt, leuchtet nichts mehr. Woran kann das 
liegen?
Datentyp von Byte ist volatile unsigned char
1
ISR(UART_RX_vect)
2
{
3

4
PORTB |= (1<<PB0);
5
Byte = UDR;
6

7
}

danke und gruss
Detlef
Gast #1400121
Lesenswert?

>nur wenn ich die Zeile "Byte = UDR;" hinzufüge, leuchtet sie nicht mehr

Dann schaltest du sie irgendwo wieder aus. Die Einschaltzeit
ist vermutlich zu kurz. Und wenn du UDR nicht ausliest
feuert der Interrupt dauernd und schaltet sie immer wieder ein.

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