Hallo, gibt es eine einfache Funktion zur Textausgabe vom Mikrocontroller zum Terminal über Usart. Mein Versuch sieht so aus und klappt leider nicht: void usart_putc(unsigned char c) { while (!(UCSRA & (1<<UDRE))); // warten bis Senden moeglich UDR = c; // sende Zeichen } void usart_puts (unsigned char *s) { while (*s) { usart_putc(*s); s++; } } void Usart_Tx(char text) { char s[50]; usart_puts(text); } int main (void) { Usart_Tx('Hallo welt!'); return 0; } Gruß flo
>void Usart_Tx(char text) >{ > char s[50]; > usart_puts(text); >} Wozu brauchst du die noch extra? Sonst sind das ja die Standard-Funktionen zur Textübertragung. Vermultlich liegt dein Fehler woanders im Programm.
Ist das dein ganzes Programm? Da fehlt nämlich noch die Initialisierung...
Nein nur ein Auszug. wenn ich im main Teil die Funktion usart_putc('s') verwende wird der Buchstabe s richtig Ausgegeben, ich kann nur keine Zeichenketten ausgeben. Habe gerade noch was geändert: void Usart_Tx(char text[50]) { usart_puts(text); } leider bekomme ich es nicht hin die usart_puts()Funktion direkt einzubinden auf Grund der verschiedenen Deklarationen. Bin leider nicht so gut im Programmiren.
Fehler: 'Hallo welt!' Nimm "Hallo welt!"
Vielen dank, jetzt funktioniert es tadellos. Es sind halt immer die kleinen Fehler.
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.