Gast
#2206545
Hi, Bin grade dabei eine eigene Lib für eine KS0108 zu schreiben (ja ich weiß es gibt schon viele, wollte es aber mal gerne selber machen um zu verstehen wie das funktioniert). Die grundlegenden Sachen wie Zeichen ausgeben und auf BUSY abfragen haben schonmal geklappt:). Jetzt wollte ich mal kurz zusammenfassen wie und ob ich das ganze verstanden hab, könntet ihr mich bitte korrigieren falls irgendwas falsch ist? Also: 1. Ich kann z.B. Kommandos an ein Display schicken indem ich RS = 0 und R/W = 0 setze, den Chip auswähle (also 1 oder 2) und dann das entsprechende Kommando (z.B. Set Address, Set Page,...) über den CMD_PORT ausgebe. Wenn Chip1 ausgewählt ist erhält er das Kommando wenn Chip2 ausgewählt ist bekommt Chip2 das Kommando. Hierbei sollte ich wenn möglich die Koordinaten vergleichen, um natürlich zu wissen welchen Chip ich auswählen muss. Um den Befehl zu übergeben muss ich immer meine ENABLE Leitung von 1 auf 0 switchen richtig? 2. Ich kann Daten auf dem Display ausgeben, indem ich RS = 1 und R/W = 0 setze. Nun werden die Daten an CMD_PORT Byteweise auf dem Display ausgebenen, wobei der Y-Poiter immer inkrementiert wird wenn ein Byte geschrieben wurde. Auch hier muss ich immer ENABLE von 1 auf 0 setzen um das Byte zu schreiben richtig? Ist es hier ratsam das BUSY Flag abzufragen um nich schon was neues zu schreiben wenn das Display noch beschäftigt ist oder geht das gar nicht? Habe leider noch nicht ganz verstanden wann es sicht lohnt das BUSY Flag abzufragen, kann mir das einer erklären? 3. Wenn ich RS = 0 und R/W = 1 setze kann ich den Status des Displays auslesen, also ob ON/OFF, Busy oder Reset. Ist es sinnvoll den Status auszulesen und auszuwerten bzw. wann ist dieses ratsam? 4. RS = 1 und R/W = 1 kann ich benutzen, um den Inhalt des Speichers auszulesen auf welchen mein Y-Pointer zeigt. Könnte ich z.B. ver- wenden wenn Zeichen fehlerhaft sind und ich den Inhalt überprüfen will (?). 5. Ich muss eig. immer meine ENABLE Leitung von 1 auf 0 setzen wenn ich einen Befehl ausführen möchte richtig? So das ist ne ganze Menge Text, aber ich hoffe jemand hat die Lust und die Zeit sich das mal durchzulesen und mir zu sagen ob ich das in etwa verstanden habe bzw. was noch verbesserungswürdig ist. Wollte nämlich mal anfangen dann selber Funktionen zu schreiben:) LG