Forum: Mikrocontroller und Digitale Elektronik Interrupt Xmega Uart


von Ganz neu (Gast)


Lesenswert?

Ich habe einen Interrupt-Uart im Xmega implementriert.

USARTE0.CTRLA = USART_RXCINTLVL_HI_gc;   //RX interrupt high level
PMIC.CTRL = PMIC_HILVLEN_bm;  // High level Interrupt enable

Jetzt springt mein Programm auch in den :

ISR(USARTE0_RXC_vect)
{

receivedData = USARTE0.DATA;
}

Will da aber nicht mehr zurück in das Main. Bzw. der Controller macht 
einen Reset.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Das liegt:

a) am Watchdog
b) an einer fehlerhaften Programmierung
c) an einem falschen Interruptvektor, der in´s NIX springt.

von wt (Gast)


Lesenswert?

schließe mich dem Travel Rec. an

von Henry (Gast)


Lesenswert?

Ich kenne den Compiler nicht aber fehlt da vielleicht noch ein

#pragma interrupt

vor der Interrupt Funktion?

Der Compiler versteht ja nicht das, das eine Besondere Funktion ist die 
mit IRET beendet werden muss.

von Ganz neu (Gast)


Lesenswert?

#pragma interrupt ->nein muss man im GCC nicht.
MC war defekt.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>MC war defekt.

Hmm - äußerst selten.

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.