Forum: Compiler & IDEs Wieder mal Problem mit fdevopen


von gast (Gast)


Lesenswert?

Ich möchte die Ausgabe für die seriellle Schnittstelle über printf 
umleiten.

Im Header File steht:
1
#include <avr/io.h>
2
...
3
int uart_sendc(unsigned char c, FILE *dummy);
4
...

in der *.c dann:
1
int uart_sendc(unsigned char c, FILE *dummy)
2
{
3
    while (!(UCSRA & (1<<UDRE))) {}  // warten bis Senden möglich 
4
    UDR = c;                         // Zeichen senden   
5
    return (0);
6
}

Zur Umleitung schreibe ich in der Initialisierung einfach "fdevopen 
(uart_sendc, NULL);"

Ich bekomme aber leider den Fehler:
"../uart.h:80: error: expected declaration specifiers or '...' before 
'FILE'"


Ich seh im Moment den Wald vor lauter Bäumen nicht mehr, kann mir bitte 
jemand helfen??

Ich nutze WinAVR-20080610 und AVR Studio 4-14

von JojoS (Gast)


Lesenswert?

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Die_Nutzung_von_sprintf_und_printf

die Syntax wird aber gerne mal geändert, ich weiß nicht ob es zu deiner 
winavr Version passt.

von gast (Gast)


Lesenswert?

ok, habs jetzt.

Es hat "#include <stdio.h>" gefehlt :(
und natürlich noch das unsigned char in char ändern

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.