UART und stdout/stdin

Gast #537834
Lesenswert?
• ▲
▼
Hallo,

man kann ja bei vielen uCs die UART/RS232-Schnittstelle als stdout und 
stdin definieren.

Zur Zeit arbeite ich an einem Projekt, wo ein Softcore-uC auf einem FPGA 
wie oben konfiguriert ist. Ich möchte nun über RS232 Daten empfangen und 
senden.

In einem mitgelieferten Testprogramm werden die Meldungen, ob die Tests 
erfolgreich waren oder nicht, per stdout (Mit der Funktion "print") 
ausgegeben und die Übertragung über UART funktioniert auch. Vorher wurde 
lediglich eine Initialisierungsroutine aufgerufen.

Es gibt aber auch eine umfangreiche Beschreibung des UART-Treibers, in 
der jede Menge Funktionen aufgeführt sind, z.B. Send, Receive, spezielle 
Konfigurationen, Interrupt-Handler, usw.

Dazu drei Fragen:

Wie steuert der uC durch die Funktion "print" überhaupt den UART? Wenn 
man es "händisch" programmieren würde, müßten doch Register abgefragt, 
Flags gesetzt, Interrupt-Handler bestimmt werden etc. Wird das alles im 
Hintergrund für mich übernommen?

Kann ich dann auch einfach mit der Funktion "scanf" den UART auslesen?

Wie gehe ich jetzt für mein Projekt vor? Genügt der einfache Weg über 
die Std-Funktionen oder sollte ich die Funktionen des UART-Treibers 
benutzen?
Gast #537848
Lesenswert?
• ▲
▼
Nachtrag:

Mir ist klar dass man stdout eine bestimmte Funktion zuweisen muss, die 
dann das Handling der Ausgabe übernimmt. Nur dies ist eben nirgendwo im 
Quelltext geschehen. In einem Header-File wird per define für STDIN und 
STDOUT ein bestimmer Adressbereich zugewiesen, das war's dann aber auch 
schon.

Ist die Implementierung (fdevopen, stdout=  etc.) vielleicht irgendwo in 
einer lib versteckt?

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.