MPU6050 I2C Write Mega8

Gast #2736233
Lesenswert?

Guten Tag,

Ich bin grad dabei den MPU6050 mit dem ATMega8 über I2C anzusteuern.
Mit I2C read funktioniert soweit alles und ich kann die Device ID 
auslesen.
Allerdings funktioniert das schreiben der Register im Moment gar nicht. 
Ich sende eine einen Start Befehl mit Write bit. Anschließend sende ich 
die Registeradresse auf der ich schreiben will in diesem Fall die 0x19 
und danach direkt mit einem Writebefehl das Byte welches ich 
reinschreiben will. Nun wird das ganze durch eine Stopbedingung beendet. 
Konnte mit dem UART auch noch etwas debuggen und habe festgestellt das 
ich für die Write Befehle sogar ein ACK bekomme. Allerdings wird der 
Wert im Register nicht geschrieben. Ich verwende die I2C Bibliothek von 
Peter Fleury

Hat vielleicht jemand ein ähnliches Problem gehabt oder weiß wo mein 
Fehler ist.

Die Funtkion sieht wie folgt aus:
1
void mpu6050_SMPRT_DIV_W(char addr,char byte)
2
{
3
  i2c_start_wait((addr<<1)+ I2C_WRITE);
4
  s=i2c_write(0x19);
5
  s=i2c_write(byte);
6
  i2c_stop();
7
}

Danke schonmal im Vorraus

gruß Tobias

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren