Forum: Mikrocontroller und Digitale Elektronik MPU6050 I2C Write Mega8


von TM (Gast)


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

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.