Das Elektor-Forum schließt seine Pforten (siehe auch http://www.elektormagazine.de/forum). Ab Freitag, den 01. März, ist es nicht mehr möglich, sich im Forum einzuloggen. Alle Inhalte des Forums bleiben jedoch bis Ende März noch sichtbar. Am 01. April wird das Forum schließlich komplett geschlossen.

uart receive-Interrupt

Postby jimli » Fri Jan 21, 2011 12:00 am

Hallo,
ich bin ganz neue hier.Ich programmiere gerade mit R8C23 und habe Problem mit der Interrupt, wenn ich ein Telegramm über UART1 sende. Der Compiler geht nicht in der Interrupt-Funktion.
Das Telegramm wird von einem Gerät an RxD1 gesendet.

Im Anhang erhalten Sie was ich geschrieben habe.
Ihc bedanke mich im Voraus für die Hilfe
Attachments

[The extension isr has been deactivated and can no longer be displayed.]

jimli
 
Posts: 2
Joined: Fri Jan 03, 2014 1:52 pm

Postby sepp2gl » Fri Jan 21, 2011 12:00 am

Hast Du die Adresse der Interrupt Service-Routine in den Interrupt-Vektor eingetragen und den Interrupt priorisiert?

Gruß, sepp2gl

P.S.: wieso hat das Modul mit der ISR die Dateiendung .bin?
sepp2gl
 
Posts: 31
Joined: Fri Jan 03, 2014 1:50 pm

Postby jimli » Fri Feb 11, 2011 12:00 am

Hallo zusammen.
Ich habe wieder ein Problem beim Empfangen von mehreren Telegramm mit 15 byte lang .
Bei einigem Telegramm tritt einen Framing Error auf, und zwar beim letzen Zeichen.
Ich habe es mir auf dem Oszillo analysiert, und bei allen Telegramme ist der lezte Zeichen 60µs lang, obwohl die Baudrate 9600 ist.

#pragma INTERRUPT ISR_DanReceive
void ISR_DanReceive(void)
{
if(fer_u0rb == 1)
{ //Led ein
Index=0;//ReceibeBuff ausleeren
re_u0c1=0;
}

else {
ReceiveBuff[Index]= u0rbl;
dummy=u0rbh ;
if(Index=15){ StopReceive; }
else{ Index++ ; }
}
Wo kann das Problem liegen?
Danke erstmal und Gruß
jimli
 
Posts: 2
Joined: Fri Jan 03, 2014 1:52 pm

Postby sepp2gl » Fri Feb 11, 2011 12:00 am

Ein Framing-Error sagt aus, dass Du Sender und Empfänger hinsichtlich des Datenrahmens ("Frame") unterschiedlich eingestellt hast.
Ein Frame für serielle Daten besteht typischerweise aus einem Startbit, 7 oder 8 Datenbits und einem oder zwei Stopbits.
Sender und Empfänger müssen die gleiche Einstellung haben, sonst interpretiert der Empfänger die Daten falsch.

Es liegt mit Sicherheit NICHT an der Interrupt-Service-Routine.

Gruß, sepp2gl
sepp2gl
 
Posts: 31
Joined: Fri Jan 03, 2014 1:50 pm


Return to Das R8C-Projekt

Who is online

Users browsing this forum: No registered users and 1 guest