Hallo, ich arbeite mit dem Gyroscope (L3GD20) und dem Accelerometer(LSM303DLHC) des Pololu AltIMU-10, welcher über I2C angesprochen wird - das klappt in meinem Programm (WinAVR / ATmega 1284p) auch alles sehr gut. Bisher habe ich die Register (X lowbyte, X hightbyte, usw.) immer einzeln ausgelesen, also mit TWI_GET_BYT das klappt auch. Im Zuge der "Codeoptimierung" will ich jetzt aber 6 Bytes als Block aus der IMU auslesen, also nach Angabe des Devices und dem ersten Register alle weiteren 5 Register - das klappt nicht. Alle Werte haben dann immer den Wert des ersten Registers. Lt. Datenblatt (Gyro L3GD20) ist das "reading" von multiblen Bytes aber vorgesehen. Ich hatte damit noch nie Probleme Beim Lesen und Schreiben von EEproms, RTC hat es immer funktioniert. Beim AltIMU-10 geht das aber nicht. Danke, für einen Tip
Datenblatt: the 7 LSb represent the actual register address while the MSb enables address auto-increment. If the MSb of the SUB field is 1, the SUB (register address) will be automatically incremented to allow multiple data read/write. Also nicht "reg" lesen sondern "reg | 0x80".
@ Georg G. ja genau das war's. Danke, das hätte ich noch zig-mal überlesen. Vielen Dank für den Tip, Super.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.