Forum: Mikrocontroller und Digitale Elektronik UART Interrupt Problem Atmega128


von Stefan Osterschek (Gast)


Lesenswert?

Hallo Leute,

Hab ein kleines Problem mit dem Interrupt, ich möchte das Immer wenn
ein Zeichen über die Serielle Schnittstelle gekommen ist das ein
Interrupt ausgelöst wird. Aber irgendwas mach ich falsch.
Die Initialisierung sieht so aus:

...
UCSR0B |= (1<<RXEN)|(1<<TXEN)|(1<<RXCIE);//UART RX TX einschalten
Interrupt RX
UCSR0C |= (1<<USBS)|(3<<UCSZ0);  //Asynchron 8N1
...

Baudrate ist eingestellet und Kommunkikation funktioniert auch.
Interruptbehandlung sieht so aus:

...
SIGNAL (SIG_UART0_RECV)
{
  RxInput = 1;
}
...

RxInput ist als volatile deklariert aber der Interrupt wird nicht
ausgelöst. Wo liegt mein Fehler?

von Ralf (Gast)


Lesenswert?

Hallo,

hast Du die Interrupts auch global freigeschaltet?

Gruß,

Ralf

von Jens123 (Gast)


Lesenswert?

sei; sollte helfen
und pass auf, dass du die interupt schleife klein haellst,  sonnst
gehen daten verloren!!!!

von Stefan Osterschek (Gast)


Angehängte Dateien:

Lesenswert?

habe bereits sei verwendet um die Interrupts global zu aktivieren aber
es funktioniert eben nicht. Im Anhang mal den Quellcode.

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.