Home › Foren-Übersicht › R32C-Projekt › Ringbuffer Interrupt Uart und Co.

Foren-Übersicht

Sie müssen eingeloggt sein, um zu antworten.

Thema: Ringbuffer Interrupt Uart und Co.

Autor Beitrag

HAD

15 Beiträge

Neuer Benutzer
Neuer Benutzer

Read post 10-04-2010 11:56

Hallo R32C User,

Ich möchte gerne ein Protokoll scheiben wie z.B.

DLE STX command daten DLE ETX checksum

nur habe ich das Problem wenn ich die zeichen folge
sende das sich der Ringbuffer verschluckt bzw. Interrupt nicht erkannt wird?

Als ich sende hex 10 02 die 10 wir wir erkannt hex 02 nicht.

Hat jemand einen Idee woran das liegen kann in meinen Code?
Hat jemand eine Beipiel für den R32C?


Gruß

Hans

AttachmentMe2010.rar

FrankL

124 Beiträge

Stammgast
Stammgast

Read post 13-04-2010 14:11

Auf den ersten Blick würde ich sagen Du bekommst einen Overrun Error weil die ankommenden Daten nicht schnell genug abgeholt werden. Deine Software macht keine Fehlerbehandlung, also empfängst Du ab diesem Punkt gar keine Daten mehr.

HAD

15 Beiträge

Neuer Benutzer
Neuer Benutzer

Read post 17-04-2010 10:55

Ja, das habe ich mir auch schon gedacht. Leider habe gar keine Idee
wie ich den Ringuffer bzw. die Interruptroutine synchronisieren kann.

FrankL

124 Beiträge

Stammgast
Stammgast

Read post 20-04-2010 17:20

Ich denke nicht das Du ein Problem mit der UART oder dem Interrupt hast. Das Problem ist in der parser-Routine.
Ich habe den Parser herausgenommen, und in main() die ankommenden Zeichen einfach mit uart1_putc(rxd1buf[rxd1outp]) wieder herausgeschickt. Damit kommt alles richtig an, es werden keine Zeichen verschluckt.

AttachmentElektor.zip

HAD

15 Beiträge

Neuer Benutzer
Neuer Benutzer

Read post 25-04-2010 18:31

Danke, der Tip war ein Treffer. Habe jetzt einen Ansatz gefunden.
werden später noch mal berichten bzw. Lösung posten.

Sie müssen eingeloggt sein, um zu antworten.

Elektor 06/2012 am Kiosk

Gratis-Newsletter

Feedback zu Elektor

µC-Fernlehrgang 1 & 2

Folgen Sie Elektor auf...