Sonderzeichen auf dem LCD

Gast #87415
Lesenswert?

Der HD44780 arbeitet ja bei den Sonderzeichen nicht mit dem ASCII-Code.
Wie kann man in C in einen ROM-String die passenden Alternativen
einsetzen?

flash unsigned char text1[]="Bitte wählen";
geht natürlich nicht.
Mir schwebt das was in der Art:
flash unsigned char text1[]="Bitte w",0xe1,"hlen";
Ist sowas machbar und wenn ja, wie wäre es syntaktisch korrekt?
Gast #87416
Lesenswert?

Du kannst "Bitte wählen" schreiben und in deiner lcd_putc sowas
machen:

lcd_putc (char ci)
{
  uint8_t pos, c;


  c = ci;
  // deutsche Umlaute
  switch (c)
    {
    case 'ä':
      c = 0xE1;
      break;      //Umlenkung auf neuen Zeichen Code
    case 'ö':
      c = 0xEF;
      break;
    case 'ü':

usw.

Dann brauchst du deine Texte nicht anzupassen.
Gast #87417
Lesenswert?

ja, was in der Art hatte ich auch schon mal gemacht. Lieber wärs mir
aber doch, gleich das richtige Zeichen im String zu haben. Im Moment
habe ich zwar weder Zeit- noch Codegrössenprobleme (kann ja aber alles
noch kommen:-).
Gast #87418
Lesenswert?

flash unsigned char text1[]="Bitte wáhlen";
Jetzt klappts, wie ich es will!
das ä z.B. in den String schreiben mit Alt 0225, das ö ist dann
entsprechend Alt 0239.
Sieht zwar im Quelltext komisch aus, aber was macht das schon.

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