MPU6050 - Stm32 - I2C hängt sich auf

Gast #4253508
Lesenswert?
• ▲
▼
Hallo,

evtl kann mir hier einer helfen.

Ich betreibe einen MPU6050 via I2C an einem STM32f4 Discovery Board.
Nur lässt sich der MPU nur auslesen wenn ich die Spannnungsversorgung am 
MPU kurz unterbreche und dann initalisiere. Wenn ich die Versorgung dann 
dran lasse und den Mikrocontroller neu bespiele läuft gar nichts mehr 
auf dem Bus...

Woran könnte es liegen, dass sich der MPU nicht wieder reinitalisieren 
lässt?

Danke für alle Antworten.

G Ert
#4253695
Lesenswert?
• ▲
▼
Wenn du während einer aktiven i2c Kommunikation den uC resettest kann es 
durchaus sein dass die I2C state machine vom Sensor irgendwo mitten drin 
ist und somit beim nächsten Anlauf des uC sich nicht so verhält wie du 
bzw. deine i2c Routinen es erwarten. Beim SPI wird durch den Chipselect 
die State machine resettet, das gibt's bei I2c nicht (bei smbus schon).
Vermutlich wartest du in irgendeiner Routine auf eine Antwort bekommst 
sie aber nicht. In dem Fall musst du deinen Slave wieder in einen 
definierten Zustand bringen, wie das geht steht z.B. hier: 
http://www.analog.com/media/en/technical-documentation/application-notes/54305147357414AN686_0.pdf
Gast #4254397
Lesenswert?
• ▲
▼
Timmo H. schrieb:
> http://www.analog.com/media/en/technical-documenta...

Wie so oft wird hier das "Freiräumen" des Busses mit einer Stopp 
Bedingung abgeschlossen. Um einen I2C Baustein zu reseten ist das aber 
eigentlich keine gute Idee. Wird vor dem Reset eine EEPROM Page nur mit 
3/4 der gewünschten Daten befüllt, werden diese nach eine Stopp 
Bedienung tatsächlich geschrieben. Aus meiner Sicht ist es deshalb 
sinnvoller als Abschluss des „Freiräumen“  eine Start Bedingung auf den 
Bus zu legen

mfg

DerDan

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.