Bis jetzt habe ich oben genannte Problemstellung wie folgt realisiert: int uart_putchar (char c) { if (c == '\n') uart_putchar('\r'); //Warten solange bis Zeichen gesendet wurde loop_until_bit_is_set(USR, UDRE); UDR = c; return (0); } int main (void) { //Initzialisierung der seriellen Schnittstelle IOInit(); //öffnet einen kanal für printf fdevopen (uart_putchar, NULL, 0); //Ausgabe printf("Test"); } Leider wird nun (ich habe die neuste Version des GCC installiert), bei der Funktion fdevopen eine Fehlermeldung ausgegeben. Daher meine Frage: Was muss geändert werden, damit ich die Funktion uart_putchar weiterhin in Zusammenhang mit printf benutzen kann? Gruß Julius
. Leider wird nun (ich habe die neuste Version des GCC installiert), bei der Funktion fdevopen eine Fehlermeldung ausgegeben. Ach. Bis hier sollte Dir eigentlich klargeworden sein, daß Dir am ehesten geholfen werden kann, wenn Du diese Fehlermeldung hier auch wiedergibst ...
Das wäre für ihn zwar vermutlich auch eine Lösung, aber er sollte erst mal lernen, Fehlermeldungen als das wahrzunehmen, was sie sind: eine Hilfe, den Fehler zu finden ...
Wenn Du einfach mal die Dokumentation zu fdevopen lesen würdest (dafür ist sie ja da), dann würdest Du erfahren, dass sich die Definition für die put-Funktion geändert hat. Das Lesen der dazugehörigen "Note" überlasse ich mal Dir: http://www.nongnu.org/avr-libc/user-manual/group__avr__stdio.html#ga40
Hmpf, URLs mit Unterstrichen werden hier ja nicht korrekt übernommen. Also: http://tinyurl.com/eqn7e
Soviel freundlichkeit ist man hier ja gar nicht gewöhnt...
hatte das gleiche problem: ... int uart_putchar (char c, FILE *file) ... fdevopen (uart_putchar, NULL); ... funzt
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.