Problem: mit 2 Uarts gleichzeitig empfangen

Gast #1883781
Lesenswert?
• ▲
▼
Hallo, ich habe folgendes Problem: ich nutze beide UARTS des AT90CAN128 
um Strings zu empfangen. Bei dem String der über UART0 (115600 BAUD) 
empfangen wird fehlt allerdings ab und zu ein Byte. Der String von UART1 
(19200 BAUD) ist komplett richtig. Ist der UART1 ausgeschaltet empfängt 
auch der UART0 alle Bytes. Ich nutze jeweils den jeweiligen RX-Interrupt 
zum Empfang eines Bytes.
Moderator (Firma: Titel) Persönliche Seite #1883881
Lesenswert?
• ▲
▼
Hans schrieb:
> Ich nutze jeweils den jeweiligen RX-Interrupt zum Empfang eines Bytes.
Lass mal deinen Code sehen, was da sonst noch alles in der ISR gemacht 
wird...

In der Interruptroutine solltest du nur das Zeichen abholen und in einen 
Fifo schreiben. Irgendwer/-was in der Hauptschleife holt sich dann die 
Zeichen aus dem Fifo ab.
Gast #1883922
Lesenswert?
• ▲
▼
Bei 115600 Baud kommt alle 86,5 µs ein Byte (bei 8n1). UDR vom RX kann 
nur 2 Bytes puffern. Wahrscheinlich brauchen Deine ISRs mehr Zeit, wenn 
beide USARTS aktiv sind. Zur Bestätigung kannst Du Data Overrun für 
USART 0 auswerten! Testweise UART0 mit niedrigerer Baudrate betreiben.
Gast #1884784
Lesenswert?
• ▲
▼
vielen Dank für die Tips. Ich habe die UART-Interrupt-Rountine wie oben 
empfohlen umgebaut, jetzt funktioniert alles. Problem war, das in der 
UART1 Routine noch auf ein weiteres Byte gewartet wurde. Währenddessen 
wurden Daten die per UART0 kamen ignoriert

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.