Forum: Mikrocontroller und Digitale Elektronik I2C Display einfache Frage


von Karl B. (gustav)


Lesenswert?

Soweit bin ich jetzt schon:
Adresse 78 (Rumgehexe mit der 3C schon erledigt.)
Befehle zum Initialisieren der Reihe nach eingegeben:
0x8D, 0x14, 0x20, 0x8D, 0x14, 0xAF
Dann zeigt mir das Display schon einmal Rauschen, bzw. kryptische 
Zeichen Zeile für Zeile. Das scheint aber unvollständig.
Dem Datenblatt des Controllers SSD1315 kann ich keinen Hinweis 
entnehmen,
dass schon "Charakters" über ASCII abrufbar sind, wie man es vom 
HD44780- Standard so gewohnt war.

Also einfache Frage:
Eine "schöne" Initialisierungsroutine scheint das Teil auch nicht zu 
brauchen. Steht jedenfalls nichts direkt so im Datenblatt.
Andersherum. Man wird nicht umhin kommen, die Libraries ausführlich zu 
Hilfe zu nehmen.
Mehr wollte ich nicht wissen.
Oder könnt Ihr mir eine supereinfache Initialisierungsroutine verraten.
Wollte nur - wie gehabt - Buchstaben und Ziffern "normal" darstellen 
lassen.
(Vorerst, nicht gleich mit etwas Komplizierten Graphischem beginnen.)

Bis dann
Vielen Dank für Antwort schon einmal.

ciao
gustav

von Joachim B. (jar)


Lesenswert?


von Harald K. (kirnbichler)


Lesenswert?

Karl B. schrieb:
> Dem Datenblatt des Controllers SSD1315 kann ich keinen Hinweis
> entnehmen, dass schon "Charakters" über ASCII abrufbar sind,
> wie man es vom HD44780- Standard so gewohnt war.

Man darf "Zeichen" sagen. Und nein, sind sie nicht. Das ist einer der 
wesentlichen Unterschiede zwischen einem Graphik- und einem Textdisplay.

Du musst jeden einzelnen Bildpunkt selbst von Hand setzen. Dafür gibt es 
natürlich "Libraries", die das übernehmen, mit nachezu beliebigen 
Zeichensätzen und -Größen.

von Sebastian R. (sebastian_r569)


Lesenswert?

Karl B. schrieb:
> Mehr wollte ich nicht wissen.

Dein Beitrag enthält keine einzige Frage.

von Joachim B. (jar)


Lesenswert?

https://github.com/libdriver/ssd1315
https://forum.arduino.cc/t/ssd1315/695280
include Zeichensatz in u8g2 LIB
DisplayOLED.setFont(u8g2_font_ncenB08_tr); // choose a suitable font

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Karl B. schrieb:
> Adresse 78 (Rumgehexe mit der 3C schon erledigt.)

Warum nennt das Datenblatt auf S.15 dann als Slave Adresse die 0x3C bzw. 
0x3d, je nach SA0 Bit?
("...“SA0” bit provides an extension bit for the slave address. Either 
“0111100” or “0111101”, can be selected as the slave address of 
SSD1315".)

Da hast du wohl noch das R/W-Bit mit reingemischt und alles um ein Bit 
verschoben. Elementare Bitoperationen als Hexerei zu bezeichnen, hört 
sich so an, als ob du die Arbeitsweise des I2C noch nicht ganz 
verinnerlicht hast.

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Rainer W. schrieb:
> Da hast du wohl noch das R/W-Bit mit reingemischt und alles um ein Bit
> verschoben.

das ist das größte "Problem" bei verschiedenen LIBs erst Recht wenn man 
mischt!
Da hilft es nur Stück für stück durchforsten und selber bauen.

von Rainer W. (rawi)


Lesenswert?

Joachim B. schrieb:
> das ist das größte "Problem" bei verschiedenen LIBs erst Recht wenn man
> mischt!

Elementare Bitoperationen als Hexerei zu bezeichnen, hört sich etwas 
befremdlich an.
Die I2C-Spezifikation spricht bezüglich der Adresse eine klare Sprache 
und alles, was sich I2C nennt, sollte sich an die dort verwendeten 
Begrifflichkeiten halten. In Fig.9 (S.13) sind die Signale sogar 
bildlich dargestellt und die Bits genau bezeichnet.
https://www.nxp.com/docs/en/user-guide/UM10204.pdf

Notfalls hilft ein kleiner Logikanalysator, der einem die Signale auf 
dem Bus darstellt und dekodiert, so dass man sofort sieht, was dort 
gesendet wird und ob das Ack vom Slave kommt - ganz unabhängig von 
möglicherweise irreführenden Interfacebeschreibungen irgendwelcher Libs 
oder deren Fehlinterpretation.

: Bearbeitet durch User
von Crazy Harry (crazy_h)


Lesenswert?

Sebastian R. schrieb:
> Dein Beitrag enthält keine einzige Frage.

Doch nur kein Fragezeichen .... hier ein paar zum selber setzen: 
????????

von Jack V. (jackv)


Lesenswert?

Karl B. schrieb:
> Man wird nicht umhin kommen, die Libraries ausführlich zu
> Hilfe zu nehmen.

So machen es in der Tat die allermeisten Leute. Und wenn du nun noch 
verraten hättest, welche μC-Plattform du nutzt, hätte dir auch jemand 
die ebenfalls ungestellte, aber vermutlich vorhandene Frage beantworten 
können, welche man da am besten nimmt, und wie man sie nutzt.

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.