Forum: Mikrocontroller und Digitale Elektronik UART und stdout/stdin


von TechInfo (Gast)


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?

von TechInfo (Gast)


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?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.