Forum: Mikrocontroller und Digitale Elektronik Sonderzeichen auf dem LCD


von crazy horse (Gast)


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?

von Fritz Ganter (Gast)


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.

von crazy horse (Gast)


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:-).

von crazy horse (Gast)


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.

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.