Forum: Mikrocontroller und Digitale Elektronik Uart String


von Frank (Gast)


Lesenswert?

Hallo
Ich möchte meinem Atmega16 einen Text(String) über den  Uart schicken
den ich per Hyperterminal eingebe. Den wollte ich mir dann auf ein LCD
anzeigen lassen. Nur es kommt immer nur das erste Zeichen an???
Muss ich die Zeichen erst zwischen speichern und  dann
zusammensetzen??
Frank
int uart_getc(void)
{

    while (!(UCSRA & (1<<RXC)));  // warten bis Zeichen verfuegbar


    return UDR;                   }

von Dirk D. (dirkd)


Lesenswert?

Hi!

Schick doch mal den ganzen Code. Wie rufst Du uart_getc auf und wie
sendest Du die Zeichen an das LCD?

Gruß

    Dirk

von FRANK (Gast)


Lesenswert?

Hallo
Ich schreibe den String so zum LCD
LCD_Print(0,0,"String %ci",UDR);
Gebe ich im Hypert.  "Hallo" ein kommt nur das H auf dem LCD!?
Frank

von Andreas Dörr (ADoerr) (Gast)


Lesenswert?

Benutz die schon von Dir oben genannte Funktion uart_getc(). Die liefert
Dir aber immer nur ein Zeichen zurück (und wartet solange, bis eines
angekommen ist.
Dann entweder jedes Zeichen einzeln zum LCD-Display schicken, oder halt
vorher in einem char-array deinen Text aufbauen und dann erst komplett
zum LCD schicken.

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.