Zitat Zitat von deko Beitrag anzeigen
...Nutze ich als Dev-Adresse 0x68 dann hängt er sich bei "i2c_start_wait(Devaddr+I2C_WRITE);" auf.
Nutze ich als Dev-Adresse 0x69 dann hängt er sich bei "i2c_write(0x6B);" auf ...
Welchen Wert hat Dein I2C-WRITE ??

Es macht Sinn, die originale Spezifikation des I²C-Busses, UM10204 von NXP, zu lesen.
Zitat Zitat von NXP in UM10204
... Data transfers follow the format shown in Figure 9. After the START condition (S), a slave address is sent. This address is seven bits long followed by an eighth bit which is a data direction bit (R/W) — a ‘zero’ indicates a transmission (WRITE), a ‘one’ indicates a request for data (READ) ...
Also ist jede ungerade Adresse zum Schreiben ebenso falsch wie ne gerade Adresse zum Lesen.

Ob die Fehlfunktion(en) nur an der fehlerhaften Adresse liegt/en habe ich jetzt nicht nachgesehen.

Viel Erfolg


Zitat Zitat von deko Beitrag anzeigen
... Ich kann ja mal mit den READ-Bit etwas spielen und mal 0x6B als Adresse ausprobieren ...
Hmmm, sicher, klar kannst Du. Muss aber nicht sein *ggg*. Auch da macht sich die Anlehnung an die Dokumentation meist bezahlt.