Moin,
Ich versuche mich gerade mit einem LCD Display am Mikrocontroller. Ist
ein 2*16 Zeilen Display von Powertip oder so. Der Treiber ist ein
ST7066U, soll eigentlich wohl genauso sein wie der HD44780. Ich habe
mich an das GCC Tutorial zur LCD-Ansteuerung gehalten und es klappt auch
das was auf dem LCD erscheint. Wenn ich z.B. einen String ausgeben
möchte funktioniert das auch manchmal...
Wenn ich das Programm übertrage, kommt dann nach
lcd_setcurser(0,1);
lcd_string("Hallo Hallo");
sowas wie "|allo Hyllo". Manchmal kommt auch das, was gewünscht war.
Aber eben nicht immer...
Ich habe den Code original so übernommen wie er im Tutorial steht, nur
die Pins geändert. Habe die Datenleitungen an PORTA 0-3 und dem
entsprechend:
#define LCD_PORT PORTA
#define LCD_DDR DDRA
#define LCD_DB PD0
Ich habe das Datenblatt des ST7066U mal angehängt, die Zeiten scheinen
entwas abzuweichen. Sehe ich das richtig?
#define LCD_BOOTUP_MS 15
#define LCD_ENABLE_US 20
#define LCD_WRITEDATA_US 46
#define LCD_COMMAND_US 42
#define LCD_SOFT_RESET_MS1 5
#define LCD_SOFT_RESET_MS2 1
#define LCD_SOFT_RESET_MS3 1
#define LCD_SET_4BITMODE_MS 5
#define LCD_CLEAR_DISPLAY_MS 2
#define LCD_CURSOR_HOME_MS 2
Sind die Zeiten des Tutorials, nun weiß ich nicht genau welche Zeit für
was genau steht und wie genau die angabe sein muss.
Aus dem Datenblatt habe ich, das die Wait zeit nach "Power on" >40ms
sein soll, müsste ich LCD_BOOTUP_MS dann auf 40+ ändern?
Genauso die Waittimes für die "Function sets", die sind im Datenblatt
mit 37us angegeben und die "wait time" für Display set z.B. mit
1,52ms...
Kann das überhaupt das Problem sein? Kann mir da vielleicht jemand
helfen? Oder gibt es vielleicht ein Tutorial, wie man so eine Routine
für eine LCD-Ansteuerung selber schreibt? Ich stehe etwas auf dem
Schlauch :x
Vielen Dank im Voraus,
Lasse
Lasse ... schrieb: > sowas wie "|allo Hyllo". Manchmal kommt auch das, was gewünscht war. Es hindert dich niemand, es mal mit 10 x längeren Delays zu probieren. Aber vielleicht hast du auch elektrische Fehler.
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.