UART Baudrate in C-Programm verändern

Gast #1286193
Lesenswert?
• ▲
▼
Hallo µC und Programmierfreunde,

Ich entwickle auf einem WRAP-Board mit einem AMD Geode SC1100 unter 
Linux ein C-Programm.
Der dort vorhandene UART ist ein 16550A.
Ich lege eine Baudrate von 9600 im C-Programm über eine termios Struktur 
fest. Ich möchte gerne über die RS232-Schnittstelle ein 0x00 Byte senden 
und dabei die Bitzeiten verändern. Als Ergebnis sollen ca. 13 Bits über 
eine folgende Ein-Draht-Leitung gehen (LIN-Break).

Beschreibungen zufolge soll dies möglich sein, indem man die Baudrate 
heruntersetzt, das 0x00 Byte sendet und anschließend wieder heraufsetzt.

Genauso habe ich es unter Linux im C-Programm mit den Funktionen 
cfsetospeed(&struktur, B4800) bzw. cfsetspeed(&struktur, B4800) gemacht, 
anschließend mit tcsetattr() gesetzt, das Byte gesendet und wieder auf 
9600 gesetzt. Auf dem Oszi konnte ich nur das Starbit + 8 Bits Low Pegel 
+ Stopbit messen...

Die erste Frage wäre ob jemand das schon mal mit Erfolgt gemacht hat und 
wenn ja wie?

Ist es prizipiell überhaupt mit diesen Funktionen möglich (damit es µC 
unabhängig auf anderen Boards läuft) oder müssen die Register des UART's 
über ihre Adressen ausgelesen werden. Was ich mir dabei vorstelle ist, 
ein bestimmtes Flag aus einem UART Register zu Lesen (Daten wurden 
verschickt) und erst jetzt die Baudrate wieder hoch setzen???
Auf jeden Fall wäre ich über Hinweise zur Lösung (am besten auch mit 
C-Code) dankbar.

Danke

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.