Hallo. Ich habe ein Problem mit einem KS0073 Displaycontroller. Ich habe mir mit dem Basic Tiger ein kleines Terminal gebaut und auch ein Display mit eingebaut. Das Problem: Immer, wenn ich mit dem Tiger eine zeilenfüllende Ausgabe mache, wird die zwar angezeigt, aber die letzten 3-5 Zeichen in der nächsten Zeile nochmals angezeigt. Diverse Hotlines (darunter auch die von Wilke) behaupten, das liege an der Initialisierung. An was liegt das und wie kann man es beheben? Ich bin erst 14 und mir geht langsam die Geduld aus. Danke schon mal im Voraus, Tobi
Hallo Tobi, habe auch ein LCD mit KS0073 und kenne diesen Fehler. Die Ursache ist tatsächlich die Initialisierungssequenz, die du an den Controller sendest. Je nach LCD-Typ, 2x16 bzw.2x20 Zeichen oder 4x20 Zeichen mußt du andere Kommandos benutzen und ganz wichtig die Wartezeiten einhalten. Das Abfragen des Buzy-Flags funktioniert nämlich erst, wenn das LCD initialisiert ist. Schau am besten mal im Datenblatt nach. Das findest du bei 'www.lcd-module.de'. Hier der Kernabschnitt meiner LCD-Initialisierung in C: //------------------------------------------------------------------- // Initialize Display at Startup //------------------------------------------------------------------- void DSP_Init(void) { // All port bits as output DDR(LCD_DATA_PORT) = 0xFF; // Wait 25ms or more after power-on Wait_us(25000); // Set 4-Bit I/O Mode and Extented Function Set LCD_Write(CMD_FUNCTION_SET | FS_SET_EXT_FCT, 0); Wait_us(43); // Set 4 Lines Mode LCD_Write(CMD_DISPLAY_CONTROL | DCE_4LINEMODE, 0); Wait_us(43); // Clear Extented Function Set LCD_Write(CMD_FUNCTION_SET | FS_CLR_EXT_FCT, 0); Wait_us(43); // Set Display ON and Cursor ON and Blink ON LCD_Write(CMD_DISPLAY_CONTROL | DC_DISPLAY_ON /*| DC_CURSOR_ON | DC_BLINK_ON*/, 0); }
Hallo. Danke für das Posting. Im allgemeinen verstehe ich das C Programm schon. Ich verstehe nur die hexadezimalen Portausgaben nicht. Frage: mit einem 4x20 Zeilen Display, wie müssen da die Initialisierungen aussehen? (muss es in Tiger-Basic umsetzen...) Habe im Sheet nachgeschaut, da bringen die aber nichts über Initialisierungen. Ich bin totaler Display noob... . Der Device Treiber vom Tiger ist irgendwie [(...zu blöd für den KS0073...)] nur auf den HD447800 aus, funktioniert auch mit keinem anderen. Deshalb dachte ich mir ich könnte die Displaysteuerung einfach selber schreiben. Vielen Dank schon mal, Tobi
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.