LCD Hilfe ich werde irre

Gast #48864
Guten Abend

Ich hoffe hier kann man mir helfen, Bitte! Habe ein kleines File
programmiert wo ein LCD ansteuern soll. Das LCD wir richtig
initialisiert und zeigt auch den Text " Lüftersteuerung by " an bis
auf einen kleinen Fehler! Auf dem Display erscheint kein ü sondern so
ein komisches Zeichen.
.....
. . .
.....
.   .
Die anderen Buchstaben passen alle. Ich suche schon ne Ewigkeit aber
finde den Fehler nett. Laut HD44780 hat das Zeichen "ü" den Wert
11110101 und das Zeichen was auf dem LCD erscheint 11111100. So wie es
aussieht vertauscht da was oder jemand die Low-Bit´s. Wo ist denn das
definiert das wenn ich im Assembler z.B. 'A' programmiere er dann den
Wert 01000001 dafür einsetzt? Habe die Vermutung das in dieser
"Definition" der Fehler liegt. Wenn im Programm ein Fehler wäre wo er
die Low- bzw. High-Bits vermurkst dann müsste ja in mehreren Zeichen
ein Fehler sein und nicht nur in einem.

Thanks für Hilfe

Suche schon fast ne Woche nach dem Fehler ohne Erfolg. Habe mir jetzt
aus Frust ein paar Bier rein gezogen also Sorry wegen Rechtschreibung.
Angehängte Dateien:
Gast
Hi

das LCD hat einen anderen Zeichensatz als dein Assembler. Du mußt also
diesen entweder in deiner Ausgaberoutine zur Laufzeit anpassen oder
aber in deiner Stringdefinition das ü gegen den entsprechenden Code
austauschen.

Matthias
Gast
Hallo

Zu der Aussage
"Du mußt also diesen entweder in deiner Ausgaberoutine zur Laufzeit
anpassen" bedeutet das ich es im Assembler anpassen kann oder wie? Das
wär net schlecht aber wo? Arbeite mit AVRStudio 4!
Gast
Habe gerade die Sache geändert und zwar so

'
','L',0xF5,'f','t','e','r','s','t','e','u','e','r','u','n','g','
','b','y',' '

dann funktioniert es. Laut Datenblatt des HD44780 ist der Hex-Code für
"ü" 0xF5. So wenn ich jetzt das "ü" eingebe und den Assembler die
Sache wandelen lasse kommt schei..e raus, wenn ich 0xF5 eingebe funzt
es. Das heist doch ganz klar das sich das AVRStudio nix aus der
Spezifikation des HD44870 macht. Ist ja nur der am meisten verbaute
Controller am Markt. Habe mal etwas probiert, das ü ist nicht das
einzige Zeichen was falsch dargestellt wir wenn man es als Büchstabe
eingibt, wenn man den Hex-Wert schreibt geht es. Toll das kann`s ja
nett sein und das bei ner Software von der Firma Atmel.
Gast
Stimmt, Atmel macht sich da auch nichts draus; die können ja nicht
wissen was Du ansteuern möchtest. Die Zeichensätze unterscheiden sich
eben von Land zu Land etwas.

Ach, übrigens sollte

'L',0xF5,'ftersteuerung'

auch funktionieren, sieht dann ein bisschen schöner aus :-D
Gast
Hi

das ist der Punkt. Alles was nicht 7-Bit ASCII ist kann von Land zu
Land, von OS zu OS und sogar von Programm zu Programm anders
dargestellt werden. Muß man also selber anpassen.

Matthias

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.