Serielle Schnittstellen 8051 printf

Gast #2403805
Lesenswert?

Hallo,

ich möchte über beide Serielle Schnittstellen des SAB80c517a Daten an 2 
Rechner senden. Also über SS0 an Rechner A und über SS1 an Rechner B.

Die formatierte Datenübertragung über SS0 funktioniert ja einfach über 
das printf(). Ich würde nun aber auch gerne formatierte Daten über SS1 
übertragen. Funktioniert das auch irgendwie über printf()? Konnte hier 
im Forum/Google nichts finden.

Einstellungen sind eigentlich korrekt. Bei Eingabe von bspw:

...
S1BUF=0x41;
printf("%c ",S1BUF);
...
wird "A" in UART2 angezeigt. Bei:
...
S1BUF=0x41;
printf("hallo %c ",S1BUF);
...

wird in UART1 das "hallo" angezeigt und in UART2 das "A".

Vielen Dank schonmal.
Gast #2404165
Lesenswert?

Also in der stdio.h ist das putchar ja jetz auch nur so definiert:

#define putchar(_c)       putc((_c),stdout)

   #define stdin  (&__iob_func()[0])
-> #define stdout (&__iob_func()[1])
   #define stderr (&__iob_func()[2])

also müsste ich jetz irgendwie das stdout ändern?

#define putc(_c,_stream)  (--(_stream)->_cnt >= 0 \
                ? 0xff & (*(_stream)->_ptr++ = (char)(_c)) : 
_flsbuf((_c),(_stream)))


leider blicke ich beim #define putc(...) gar nicht mehr durch, gibts 
dafür irgendwo ne erläuterung?

danke.

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