Hi,
danke für die Antworten!
Habs schonmal hinbekomen, es werden endlich Werte ausgegeben. Da ich ja mehrere Werte abfragen will, muss ich auch mehrere Variablen zum temporären Zwischenspeichern bereitstellen.
Code:
void loop(){
//start talking
Wire.beginTransmission(I2C_ADDRESS);
//ask for register
Wire.write(0x00);
//complete transmission
Wire.endTransmission();
//request 1 byte
Wire.requestFrom(I2C_ADDRESS, 7);
//wait for response
while(Wire.available() == 0);
//get the value
int a = Wire.read();
int b = Wire.read();
int c = Wire.read();
int d = Wire.read();
int e = Wire.read();
int f = Wire.read();
int g = Wire.read();
//printout
Serial.print(a);
Serial.print(", ");
Serial.print(b);
Serial.print(", ");
Serial.print(c);
Serial.print(", ");
Serial.print(d);
Serial.print(", ");
Serial.print(e);
Serial.print(", ");
Serial.print(f);
Serial.print(", ");
Serial.print(g);
Serial.println(", ");
delay(100);
}
Der Hauptteil bisschen verändert, mit Wire.write sage ich dass ich das erste Register auslesen möchte, so viel hab ich erstmal verstanden. Aber ich will ja nur das erste Register mit den
X-Werten auslesen, welches aus 7 nutzbaren Bits besteht, soweit ich das richtig lese, also schreibe ich doch auch beim Wire.request dass ich 7 Bits erhalten möchte oder? Oder kann man
die garned einzeln auslesen?
Als Return kommen nur die int-Werte der Register von 0x00 - 0x06, nicht der Bit-Inhalt des ersten Registers.
Heißt das die 7 gibt die Anzahl der auszulesenden Register inklusive dem ersten genannten an und man immer nur auf ein gesamtes Register Zugriff hat, nicht auf die einzelnen Bits?
Das verwirrt mich grade etwas
Lesezeichen