"Gradzeichen" und "C" auf LCD Display ausgeben 16*2

Gast #3517631
Lesenswert?
• ▲
▼
Hallo,

Ich schaffe es nicht ein Gradzeichen auszugeben.

Hier ist mein Code:

lcd_gotoxy(0,0);
itoa(temp,buffer,10);
lcd_puts("Temperatur:");
lcd_puts(buffer);

lcd_gotoxy(0,1);
itoa(f,buffer,10);
lcd_puts("Fahrenheit:");
lcd_puts(buffer);

Ich habe im Datenblatt nachgeguckt und dort im Zeichencode für das 
Gradzeichen rausgefunden, dass es der Hexawert 0xA0 ist.

Habe es mit lcd_puts(0x0A); versucht.

Leider funktioniert das nicht.

Wie schaffe ich es dazu dann das C hinter der Temperatur auszugeben?
Gast #3517652
Lesenswert?
• ▲
▼
>Ich habe im Datenblatt nachgeguckt und dort im Zeichencode für das
>Gradzeichen rausgefunden, dass es der Hexawert 0xA0 ist.

Bei meinen Displays war das bisher immer 0xDF.
Aber gut möglich das es bei dir 0xA0 ist.

>Habe es mit lcd_puts(0x0A); versucht.

Also gleich doppelt falsch. Wenn schon dann auch lcd_puts(0xA0);
Dann hast du nur noch einen Fehler. lcd_putc(0xA0); und der
zweite Fehler ist weg.
Gast #3517654
Lesenswert?
• ▲
▼
Hi

>Ich habe im Datenblatt nachgeguckt und dort im Zeichencode für das
>Gradzeichen rausgefunden, dass es der Hexawert 0xA0 ist.

Bei HD44780-Kompatiblen Displays ist es 0xBF.

>Habe es mit lcd_puts(0x0A); versucht.

0x0A ist auch nicht 0xA0.

MfG Spess
Gast #3517674
Lesenswert?
• ▲
▼
Ok das mit dem Gradzeichen hat funktioniert!

Wie kriege ich es noch hin das "C" bzw "F" vor dem Gradzeichen nach dem 
Temperaturwert erscheint?

Wenn ich es beim ersten lcd_puts dahinter das C einsetze erscheint es 
vor den Temperaturwert.
Gast #3517719
Lesenswert?
• ▲
▼
>wäre das eine möglichkeit??
>
>lcd_puts("Temperatur:-----°C")

Oh man ey.

lcd_puts("Temperatur:-----");
lcd_putc(0xA0); // oder 0xDF
lcd_putc('C');

oder

lcd_puts("Temperatur:-----\xa0C");

oder

lcd_puts("Temperatur:-----\xdfC");

Du brauchst dringend ein C Buch.
Gast #3517725
Lesenswert?
• ▲
▼
Hi

>wäre das eine möglichkeit??

>lcd_puts("Temperatur:-----°C")

>--- als leerzeichen ersetzen

Nein. Das '°' in deinem String hat den ASCII-Wert 0xB0.

Aber evtl. funktioniert das

lcd_puts("Temperatur:-----",0xDF,"C");

MfG Spess

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren