mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik UART und stdout/stdin


Autor: TechInfo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: TechInfo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.