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.
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
Hi! Schreibe einfach statt 'ü' $f5, denn klapps auch mit dem ü. MFG Uwe
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!
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.
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.