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; }
Hi! Schick doch mal den ganzen Code. Wie rufst Du uart_getc auf und wie sendest Du die Zeichen an das LCD? Gruß Dirk
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.