Ausgabe einer Zeichenfolge über Usart an PC Terminalprogram

Gast #476312
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
Gast #476317
>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.
Gast #476337
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.