Grafik-LCD

Hallo!

Ich versuche gerade, ein Grafik-LCD anzusprechen.

128*64; KS0108-Controller; Datenblatt ->

formatting link

Nun funktioniert das alles ganz nett, allerdings nur dann wenn ich darauf verzichte das Busy-Flag abzufragen. Tue ich das bleibt er in der Abfrage-Schleife hängen. Ich hab mir das Status-Byte mal anzeigen lassen, und BUSY ist dort dauerhaft auf "1". Merkwürdigerweise ist aber auch das Bit DB6 dauerhaft auf "1", was laut Datenblatt jedoch nie "1" werden kann.

Oder mache ich nur irgendeine Abfrage falsch? Wär schön, wenn mal jemand in meinen Quellcode schauen könnte:

formatting link

Schonmal danke! Rico

Reply to
Rico Loewe
Loading thread data ...

du liesst die Daten erst 100uS nachdem Enable schon wieder low ist vom Controller. Der Displaycontroller gibt aber nur aus, wenn Enable high ist. Versuch es doch mal so:

Gruß, Robin Adams snipped-for-privacy@adams-online.de

Reply to
Robin Adams

Ja, so funktioniert's. Ist ein Fehler im deutschen Teil des Datenblatts -> "Status lesen: [...] Mit der fallenden Flanke des Enable-Pulses gibt der selektierte Controller den Status auf den Datenleitungen aus." Im englischen Teil ist es richtig beschrieben. Man soll halt doch immer das Original lesen. ;-)

Danke! Rico

Reply to
Rico Loewe

im Idealfall sollte dein Mikrocontroller die Daten bei der fallenden Enable-Flanke lesen, so wie der Displaycontroller die Daten beim Schreiben bei der fallenden Enable-Flanke liesst. Da dies mit einem Mikrocontroller nicht so einfach möglich muss man die Daten halt vorher lesen.

Von fehlerhaften Datenblättern kann ich auch ein Lied singen ;-(. Bei der Übersetztung Taiwanesisch->Englisch->Deutsch scheint allzuoft der Sinn auf der Strecke zu bleiben.

Gruß, Robin Adams snipped-for-privacy@adams-online.de

Reply to
Robin Adams

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.