Da ich gleich noch arbeiten muss, komme ich erst heut Abend drann.
Aber es ist eigendlich egal, wo das RS und R/W drann ist. Hauptsache du kannst über die Basis-Adresse+2 dafür die entsprechenden Bits bei Auto-Feed (R/W) und Init (RS) setzen.
Die Tabellen-Links oben zeigen dazu die jeweiligen Zustände für die
Steuerung des Displaycontrollers an. Wichtig ist nur, das man
die Zeiten nicht unterschreitet, damit es auch funktioniert.
Gruß Falko
LPT-Port (erweitert)
Hallo, ich habe mir jetzt mal eine Minimallösung zusammengebastelt.
(stört euch jetzt nicht an den gosub's)
Dieses Beispiel ist ja nur zum Testen, ob ich die Bits's am LPT richtig setzen kann!
(stört euch jetzt nicht an den gosub's)
Code: Alles auswählen
wert = 56 : Gosub lcdwrite : Delay(10)
wert = 14 : Gosub lcdwrite : Delay(10)
wert = 2 : Gosub lcdwrite : Delay(10)
wert = 1 : Gosub lcdwrite : Delay(10)
wert = 67 : Gosub lcdwritedata
CloseInpOut32()
End
lcdwrite:
out32($378, wert); ' setzt die Datenpins wie in der Variable angegeben
out32($378+2, 2) ; ' diese beiden sorgen dafür dass die Enable-Leitung geschaltet wird, so dass
out32($378+2, 3) ; ' das LCd die an den Datenpins anliegenden Daten übernimmt
Return
lcdwritedata:
out32($378+2, 6) ;' dieses und das &H7 sorgen wieder dafür dass die Enable-Leitung geschaltet wird, diesmal wird allerdings auf die RS-Leitung ein High gegeben, so dass die Daten nicht als Befehl gewertet werden sondern in den RAM geschrieben werden
out32($378, wert);' setzt die Datenpins nach der Variable
out32($378+2, 7);
Return