Forum: Mikrocontroller und Digitale Elektronik Brauche Hilfe bei meiner LCD-Libary


von Meisse (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

Ich habe ein Problm mit meiner LCD-Ansteuerung.
Ich habe ein LCD 4x40 mit 2 Controller und 2 Enable eingängen.
Ich bekomme mit meiner Libary nur den 2 Controller(2Enable) 
angesprochen.
Tausch ich im Header die Ports von Enable1 und Enable2 kommt der gleiche 
Text wo unten war in den 1.beiden Zeilen.
Kann das sein das ich erst die beiden enables nacheinander machen kann 
und nicht zusammen?


MFG Meisse

von Peter D. (peda)


Lesenswert?

Meisse wrote:
> Kann das sein das ich erst die beiden enables nacheinander machen kann
> und nicht zusammen?

Weder noch.

Außer bei der Power-On Initialisierung dürfen sie nicht zusammen enabled 
werden.
Du mußt Dir die Zeilennummer in einer Variable merken und dann davon 
abhängig den richtigen Controller ansprechen.
Hier mal ein funktionierender Code:

http://www.mikrocontroller.net/attachment/29375/lcd4x40.zip


Peter

von Meisse (Gast)


Lesenswert?

Hi Peter,

ich danke dir mal.
Hab aber noch ein paar Fragen.

void lcd_command( u8 d )
{
  LCD_RS = 0;
  lcd_byte( d );
  switch( d ){
    case 1:
    case 2:
    case 3: lcd_wait( 1600 / 60 + 2 );  // wait 1.6ms
  }
}

Warum hast du hier eine switch-Anweisung?
Welchen Sinn macht das?

von holger (Gast)


Lesenswert?

>Warum hast du hier eine switch-Anweisung?
>Welchen Sinn macht das?

Einige Kommandos brauchen längere Zeit bis
sie abgearbeitet wurden.

1 Display Clear
2 Cursor Home
3 Weiss ich grad nicht ;)

Tritt einer der Befehle 1-3 auf wird gewartet.
Alle anderen rauschen ohne Delay durch weil es kein
"case" dafür gibt.

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
Noch kein Account? Hier anmelden.