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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren