Forum: Mikrocontroller und Digitale Elektronik Display 8x40 mit Fleury ansteuern, mit 2x KS0066 Controller


von TOM (Gast)


Angehängte Dateien:

Lesenswert?

@all,

Ich habe ein Display mit 2 KS0066 Controller.

Hardware:

Mega 128

Anschluss:

4Pin Databus  PA0-PA03
RS an         PA4
R/W an        PA6
E(Display1)   PA5
E(Display2)   PA7

Nun Wollte ich dieses mit Hapsim mal testen und habe 2 Displays 
konfiguriert mit dem unterschied das E einmal auf 5 und einmal auf 7 
ist.

Ich habe die lcd.c und .h umbenannt und kopiert in

lcd_01.c     lcd_01.h
alle Einträge lcd und LCD in lcd1 und LCD1 umbenannt.
lcd_02.c     lcd_02.h
alle Einträge lcd und LCD in lcd2 und LCD2 umbenannt.

Nun wollte ich dieses so konfigurieen, dass ich den oberen und den 
unteren Teil seperat anseuern kann doch leider funktioniert noch nicht 
mal das init.

LCD_01 funktioniert und LCD_02 funktioniert nicht.

Wenn ich das funktionierende LCD_01.h den Eintrag
1
#define LCD_E_PIN        5            /**< pin  for Enable line     */
von 5 auf 7 ändere fängt PIN7 an zu toggeln.

Hat jemand eine Lösung?

Oder ist die Methode komplett falsch

Thanks

Thomas

von Peter D. (peda)


Angehängte Dateien:

Lesenswert?

Anbei mal ein wesentlich einfacherer und kürzerer Code für ein LCD mit 2 
Controllern.


Peter

von TOM (Gast)


Lesenswert?

@Peter,

OK, dein code ist wesentlich einfacher, aber ich habe mich nun an den 
von Fleury gewöhnt und möchte diesen auch verwenden nur eben mit 
theoretisch 2 Displays. Daher auch meine Umbenennung.

Nur was ich nicht verstehe ist wenn ich diesen benutze mit E auf 5 ist 
alles OK und funktioniert und wenn ich nur aus der 5 eine 7 machen 
toggelt 7 und nichts geht.

Gruß

thomas

von TOM (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich habe nun nochmal direkt auf der Hardware probiert.

Kommentiere ich die LCD1 aus (init und string)
Wird auf der zweiten Hälfte der String fur LCD2 angezeigt.

Kommentiere ich die LCD2 aus (init und string)
Wird auf der ersten Hälfte der String fur LCD2 angezeigt.

Schalte ich beide an also obere und untere Hälfte LCD1 und LCD2 ein dann 
geht nichts, also wie bei Hapsim.

Hatte schon mal jemand ein ähnliches Problem.
Weis jemand was ich andern muss bzw was ich falsch mache?!?!?

Ich häng hier mal die Files mit an.


Thomas

von Peter D. (peda)


Lesenswert?

TOM wrote:
> OK, dein code ist wesentlich einfacher, aber ich habe mich nun an den
> von Fleury gewöhnt und möchte diesen auch verwenden

Dann will ich Dich auch nicht davon abhalten, Dich da durchzukämpfen.


> Daher auch meine Umbenennung.

Ja, mit Copy&Paste&Umbenennen kann man die dollsten Sachen erleben.
Bloß fast nie nen funktionierenden Code.
Besser wäre, den Code verstehen und nur an den richtigen Stellen 
anpassen.


> Nur was ich nicht verstehe ist wenn ich diesen benutze mit E auf 5 ist
> alles OK und funktioniert und wenn ich nur aus der 5 eine 7 machen
> toggelt 7 und nichts geht.

Dann ist irgendwas faul in Deinem Code.


Peter

von TOM (Gast)


Lesenswert?

@Peter,

wie Du Recht hattest, es war tatsächlich ein Fehler im code.

Es wurden bestimmte Bits nicht zurückgesetzt bzw. es wurde nicht 
berücksichtigt das manche Funktionen nacheinander laufen.

Eine Zeile schreiben und alles OK.

Danke trotzdem für Deine Bemühungen.

Thomas

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.