I2C reading multible bytes

Gast #3525668
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
Angehängte Dateien:
#3525695
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".

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.