Forum: Mikrocontroller und Digitale Elektronik I2C reading multible bytes


von Sven (Gast)


Angehängte Dateien:

Lesenswert?

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

von Georg G. (df2au)


Lesenswert?

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".

von Sven (Gast)


Lesenswert?

@ 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
Noch kein Account? Hier anmelden.