Zeiten LCD Header Tutorial

Gast #3168344
Lesenswert?

Hallo,

arbeite mich gerade durch die Header_Datei für Displays hier auf 
mikrocontroller.net.

Hier der Beitrag:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung

Ich habe ein Displaytech 202A und möchte nun die Zeiten in der Header 
anpassen. Woher kommen diese Zeiten? Wo finde ich diese im Datenblatt?



PS: Danke für die tollen Tutorials hier
Gast #3168464
Lesenswert?

Hallo, ein paar kann ich zuordnen. Was ist mit den anderen gemeint?

// LCD Ausführungszeiten (MS=Millisekunden, US=Mikrosekunden)

#define LCD_BOOTUP_MS           15 // Seite 6
#define LCD_ENABLE_US           20 // ???
#define LCD_WRITEDATA_US        46 // Seite 5 Write Data
#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  //Seite 5 Display Clear
#define LCD_CURSOR_HOME_MS      2  //Seite 5 Return Home
#3168502
Lesenswert?

iGast schrieb:
> Hallo, ein paar kann ich zuordnen. Was ist mit den anderen gemeint?
>
> // LCD Ausführungszeiten (MS=Millisekunden, US=Mikrosekunden)
>
#define LCD_BOOTUP_MS           15 // Seite 6
#define LCD_ENABLE_US           20 // Enable Impuls, Seite 4, Tabelle 
"E pulse width" min 220ns. Ist ein absoluter Minimalwert, 20us sind wohl 
ein guter Erfahrungswert.
#define LCD_WRITEDATA_US        46 // Seite 5 Write Data
#define LCD_COMMAND_US          42 // Seite 5 die restlichen Commands 
(Entry mode set, Display On/Off, Shift, ...), alle 42us

#define LCD_SOFT_RESET_MS1      5 // Seite 6: 'Wait for more than 4.1ms'
#define LCD_SOFT_RESET_MS2      1 // Seite 6: 'Wait for more than 100us'
#define LCD_SOFT_RESET_MS3      1 // Seite 6: 'Wait for more than 100us'
#define LCD_SET_4BITMODE_MS     5 // Seite 5: Set Function: 42us 
(vermutlich auch ein Erfahrungswert, die 5ms)

#define LCD_CLEAR_DISPLAY_MS    2  //Seite 5 Display Clear
#define LCD_CURSOR_HOME_MS      2  //Seite 5 Return Home


Es hilft im Code, also in lcd-routines.c, nachzuschauen um zu sehen wo 
diese Zeiten verwendet werden und dann kannst du das auch mit der 
Beispiel-Initialisierungsroutine aus dem Datenblatt vergleichen.

PS: Ich würde an den Zeiten gar nichts ändern, da wie du siehst, es 
Minimalwerte im Datenblatt sind und die Zeiten im Beispielcode also auch 
passen, zudem erprobt sicher sind.
Du gewinnst nichts wenn du daran rumdoktorst, da die einzigen 
Abweichungen in der Initialisierung auftreten, die du nur einmal machst, 
d.h. keinen realen Zeitgewinn durch ändern der Werte.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren