stdout -> uart

Gast #434966
Lesenswert?
• ▲
▼
Hallo

Ich bin Anfänger und versuche mit WinARM, GCC 4.1.1 einen ARM uC
zu programmieren.

Ich will stdout und stdin auf den uart umleiten. Ich habe hier im Forum
Beispiele für AVR gefunden:
1
#include <stdio.h>
2
#include <stdint.h>
3

4
int PutCharUart2(char ch, FILE *stream);
5
static FILE uartstdout = FDEV_SETUP_STREAM(PutCharUart2, NULL, _FDEV_SETUP_WRITE);
6

7
int PutCharUart2 (char ch, FILE *stream) {  // Schreibe Char auf uart
8
     while ((COMSTA0 & 0x40)==0) {} // Warte bis Sendepuffer leer ist
9
  if (ch==LF) { // Wandle Zeilenende um
10
    COMTX = CR; // Sende Zeichen
11
    return 0;
12
  }
13
  COMTX = ch; // Sende Zeichen
14
  return 0;
15
}
16

17
int main(void) {
18
  stdout = &uartstdout;
19
  printf("test\n");
20
  return 0;
21
}

Leider gibt mir make einen Fehler aus:
uart.h:21: warning: implicit declaration of function 'FDEV_SETUP_STREAM'
uart.h:21: error: '_FDEV_SETUP_WRITE' undeclared here (not in a 
function)
uart.h:21: error: invalid initializer

Google hat zu _FDEV_SETUP_WRITE nichts gefunden.
Wenn ich FDEV_SETUP_STREAM richti verstanden habe, stellt die Funktion 
einen Stream bereit.
_FDEV_SETUP_WRITE gibt die Eigenschaft schreiben an.

Warum kennt mein Compiler _FDEV_SETUP_WRITE nicht?

Vielen Dank, Tilo

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.