Hallo,
die Details zum Board kenne ich jetzt nicht, allerdings kann ich zu den I2C Adressen etwas sagen:
Beim Schreiben und Lesen haben die ICs verschiedene Adressen, beim Lesen müsste das LSB gesetzt sein, d.h. Schreibadresse+1.
Grüße, Bernhard
Hallo zusammen,
ich mache gerade Experimente mit J5 (node.js) arduino Mindsorms und dem evshield von Mindsensors.
Die J5 Klassen funktionieren, jedoch ist die Implementierung nicht vollständig.
um z.B. die onboard Buttons zu verwenden muss man wohl über I2C ran. Jedoch hab ich keine Ahnung wie das gehen soll.
Laut dem Datenblatt ist die I2C adresse 0x34, bzw. 0x36.
die firmware Version sollte man dann über
Register Read Write
0x00-
0x07
Firmware version – Vxxxx -
this.i2cReadOnce(0x34, 0x00, 1, function(bytes) {
console.log("Bytes read: ", bytes);
});
bring aber nur eine Null zurück. das gleiche wenn ich die Status der Buttons abfragen will, was über
0xDB Go Button press count
mögllich sein sollte
kann mir vielleicht jemand aufs Pferd helfen, danke
Hallo,
die Details zum Board kenne ich jetzt nicht, allerdings kann ich zu den I2C Adressen etwas sagen:
Beim Schreiben und Lesen haben die ICs verschiedene Adressen, beim Lesen müsste das LSB gesetzt sein, d.h. Schreibadresse+1.
Grüße, Bernhard
die I2C Device Adressen verändern sich nicht beim Lesen oder Schreiben, sondern nur die Registeradressen, die man liest oder beschreibt.
Das niederwertigste Bit bei der I2C Adresse zeigt Lesen/Schreiben an.
http://rn-wissen.de/wiki/index.php/I2C#Adressierung
Grüße, Bernhard
"Im Leben geht es nicht darum, gute Karten zu haben, sondern auch mit einem schlechten Blatt gut zu spielen." R.L. Stevenson
Stimmt nur fast.
Das niederwertigste Bit des Adressbytes das die 7 Bit Adresse enthält ist das "direction bit".
Die Adresse selbst ist immer die Selbe. Aus Byte Sicht ändert sich das niederwertigste Bit.
http://www.i2c-bus.org/addressing/
The first byte of an I2C transfer contains the slave address and the data direction.
Lesezeichen