Wie zum Lesen von Daten aus i2c mit i2cget?
Ich bin neu in der embedded-Geräte und versuche zu verstehen, wie i2cget (oder die gesamte I2C-Protokoll).
Ich bin mit einem MMA8452 Beschleunigungssensor, und das Datenblatt sagt, dass die Slave-Adresse 0x1D (wenn meine SAO=1, was ich glaube, ist bezogen auf die I2C-bus wird auf Kanal 1 auf meinem raspberrypi v2).
Aus der Befehlszeile, die ich eingeben
sudo i2cget -y 1 0X1d
Gibt es
0X00
Ich denke, das bedeutet, dass ich an den richtigen Gerät.
So, jetzt, ich versuche, herauszufinden, wie bekomme ich die tatsächlichen Daten von dem Beschleunigungsmesser?
Den i2c-spec sagt
i2cget [-y] i2cbus chip-address [data-address [mode]]
Also habe ich versucht
sudo i2cget -y 1 0x1D 0x01
wo 0x01 ist die OUT_X_MSB. Ich bin mir nicht ganz sicher, was ich erwarte zurück zu bekommen, aber ich dachte, wenn ich sah einige andere Daten als 0x00, ich könnte in der Lage sein, um das herauszufinden.
Bin ich mit ic2get falsch? Gibt es eine bessere Art zu lernen und abrufen von Daten aus i2c?
Datenblatt für meinen Beschleunigungsmesser-chip ist auf
http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/Accelerometers/MMA8452Q.pdf
- Vielleicht haben Sie mehr Glück hier: robotics.stackexchange.com
- Frage wurde gestellt und hier beantwortet: robotics.stackexchange.com/questions/2897/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der Datenblatt klar, dass der default-Wert des Status-Register-Adresse 0x00 0x00 ist, so sind Sie gut denke ich. Siehe Tabelle 11 Register Map Adresse im Datenblatt.
Können Sie versuchen, das Lesen der device-ID-Register-Adresse 0x0D. Sie sollten Wert 0x2A, beim Lesen dieser register(0x0D).