-
Außerdem 35€ ist auch nicht gerade billig. Von preis/leistung her ist auch nicht besonders toll, außer das keypad, aber dann hast du auch wieder probleme mit dem anschließen. Eigene Erweiterungsplatine selbst zu zusammenlöten wäre viel billiger. (Vierzeihe mir, dass ich immer das sage ^^).
-
In der Beschreibung (PDF) ist doch alles genau erklärt! Wenn du Register 0 liest, bekommst du die Anzahl der aktuell noch freien Bytes im Puffer. Über einen Schreibvorgang des Register 0 kannst du entweder einen Steuerbefehl 0-27 oder ein ASCII-Zeichen in den Puffer schreiben. Über Register 1 (LSB) und 2 (MSB) kannst du den Tastencode der Tastatur auslesen. Register 3 liefert dir die Versionsnummer des Display. I2C-Adresse von dem Teil ist 0xc6. Das ist alles, wozu benötigst du noch zusätzliche Informationen?
Peter (Ronny10)
-
wahrscheinlich eine recht komische frage... ich öffne den i2c-bus, und schreibe die adresse des geräts, wie üblich bei jeder i2c-komunikation, so wie ich es bei meinem PCF8574 auhc mache. aber das display ist schon etwas anderes: wie sage ich ihm, aus welchem register ich lesen will? bzw in welches register ich schreiben will (wobei man wohl ohnehin nur ins erste register schreiben kann, also wird das nicht das problem sein)?
-
Hi,
Ich glaube mit dem Register geht es so:
Code:
i2c_start_wait(0xC6+I2C_WRITE);
i2c_write(0x00); // Command Register
i2c_write(12); // Clear Screen
i2c_stop();
Weiß selber aber nicht genau...
-
Genau so wird's gemacht (siehe Antwort raid_ox). Nur muss du immer vorher den Pufferstatus (Anzahl freier Bytes) aus Register 0 auslesen und evtl. bei einem vollen Puffer etwas warten, bis die Anzahl der Bytes die du schreiben willst in den Puffer passen. So einfach ist das!
Peter (Ronny10)
-
alles klar. und um das erste register (also den puffer) auszulesen, muss ich dann eine 0 schreiben und dann lesen? oder ist das dann i2c_read(0) oder wie?
-
Den Zeichenpuffer kannst du nicht auslesen. Beim Lesen von Register 0 erhällts du nur die Anzahl der freien Pufferbytes. Dann schreibst du deine Steuerzeichen oder ASCII-Zeichen über Register 0 ins Display. So langsam solltest du das aber jetzt verstanden haben!
Peter (Ronny10)
-
ja das meine ich ja. wenn ich register 0 lesen will, um herauszufeinden wie viele zeichen im puffer noch frei sind, muss ich dann erst eine null schreiben und dann lesen? oder muss ich i2c_read(0) schreiben? oder mal angenommen ich will register 3 lesen (versionsnummer). was muss ich dann tun?
wie das schreiben geht ist mir schon klar. ich öffne den i2c-bus, schreibe die adresse (in der i2cmaster bibliothek ist das ja ein schritt), schreibe dann zuerst das register und dann den befehl den ich schreiben will.
-
nicht wie bei pcf8574 muss du hier mehrere male i2c_write schreiben. so ist die reihenfolge:
Start|SlaveAddress+Mode|A|Register|A|Data|A|Stop
-
aber ich will doch wissen wie ich einen bestimmten register LESEN kann...