"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