Beispielsweise muss nach dem Wechseln der ROM ein clear Display
ausgeführt werden, ansonsten friert das Display ein, sobald neuer Text
geschrieben wird. Das musste ich empirisch herausfinden. Es kann sein,
dass auch andere Befehle nach dem ROM-wechseln funktionieren würden.
Des weiteren ist im Datenblatt des Chips im Display (der ssd1803a)
angegeben, dass man beim lesen des Busy-Flags zuerst die derzeitige
Position im RAM kriegt und beim zweiten mal Lesen die ID des geräts. Was
dort nicht steht, ist, dass diese Lesezugriffe direkt hintereinander
ausgeführt werden müssen, man das display weder unselecten darf, noch
darf man ein zweites mal die Leseanfrage senden. Das Datenblatt lässt es
in den Beschreibungen des SPI-Modes aber so aussehen, als würde man für
jedes Lesen eine Leseanfrage senden müssen. Täte man dies, bekäme man
aber immer nur die derzeitige Poisition zurück.
Als drittes fällt mir noch ein, dass im Datenblatt steht, dass das Gerät
keine Chipselect-Leitung hat. Das ist korrekt, aber als Work-Around
dafür war im Datenblatt angegeben, man müsse einen AND-Bausteil einbauen
mit Eingang SCK, CS und Ausgang an den SCK pin des Displays. Das ist
zwar möglich, aber über SPI sit es üblich eine \CS Leitung zu haben und
im Mode 3 ist der Ruhezustand bei aktiviertem Chip auf low. Demnach wäre
es wesentlich intuitiver (meiner Meinung nach) ein OR aus SCK und \CS zu
benutzen.