Hallo zusammen, ich arbeite mit einem M16C28 (Compiler NC30 von Renesas mit HEW-Umgebung) und will auf einem LCD-Display Ascii-Zeichen in verschiedenen Fonts ausgeben. Auf dem LCD ist ein KS0108B Segment-Driver. So weit so gut. Ansteuerung klappt wunderbar. Ich habe eine Tabelle in meinem Flash hinterlegt f¨¹r jedes Zeichen die entsprechenden Pixel, auch das funktioniert. Nun will ich folgendes ausgeben: LCDText("D¨¹sseldorf",0,0); // Schreibt D¨¹sseldorf an Position X=0,Y=0 void LCDSoftText(const char *zeiger, unsigned char xpos, unsigned char ypos);// Funktion mit Argumenten funktioniert einwandfrei Statt dem "¨¹" liesst er "¦²" und schreibt den entsprechenden Wert, auch wenn ich das Zeichen ¨¹ber die DOS-Eingabe eingebe. Kann es sein das der Compiler aus einer anderen Zeichentabelle liesst wie ich will, oder wo liegt der Fehler? Ciao
Sonderzeichen wie 'ü', 'ä', 'ß' (also alles was nicht im Standard-ASCII Code drinnen ist) sind immer problematisch. Wenn alles nichts hilft, dann musst Du die Zeichen direkt angeben: Angenommen das 'ü' hat auf Deinem Display den Code 0x8A, dann kannst Du den Hex-Code von 0x8A direkt in den String einbetten: "D\x8Asseldorf" das ist die Escape Sequence \x gefolgt von 2 Zeichen fuer den Hex-Code des gewuenschten Zeichens. Im schlimmsten Fall musst Du Dir halt eine Routine basteln, die die entsprechenden Ersetzungen passend zu Deinem Display vornimmt.
Danke, das hilft mir schon ein wenig weiter. Liegts nun am Compiler oder wie sind nun die Verhältnisse?
Yep. Compiler / Betriebssystem. Die Codetabellen stimmen nicht mit denen Deines Displays ueberein. Was mich allerdings stutzig macht: In Deinem Beitrag kommen offensichtlich ein paar Umlaut-u vor. Die werden bei mir samt und sonders durch eigenartige Sonderzeichen dargestellt. Kann jetzt an Deinem PC liegen oder an meinem. Ich tipp aber mal auf Deinen.
Salve, naja, liegt dann wohl doch eher am LCD-Controller, bzw. an dem eigenartigen Zeichensatz (ich vermute, ähnl. dem des HD44780A00). Immerhin hält sich sein PC und sein Compiler zumindest an ASCII (8bit), während das LCD keinem mir bekannten genormten Zeichensatz folgt. Die Umlaute sind dort an eher willkürlichen Stellen untergebracht, so daß es nicht ohne Übersetzung (Mapping) geht. Ich persönlich löse das auch durch Einbringen der entsprechenden Hex-Codes in die Strings. Mark PS: Das "ü" in Düsseldorf steht schon im HTML-Source so verkorkst drin. Ich habe HTML noch als 7bit-Sprache kennengelernt, und da heißt es ü. Ist es nicht Aufgabe des Browsers, die Form-Daten beim Post-Request entsprechend zu codieren?
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.