Hallo Jonas,

#KOMPASS
gosub I2C_START
I2C_DATEN = 192
gosub I2C_WRITE
I2C_DATEN = 1
gosub I2C_WRITE
gosub I2C_STOPP

gosub I2C_START
I2C_DATEN = 193
gosub I2C_WRITE
gosub I2C_READ
KOMPASSWERT = I2C_DATEN
hier würde ich das I2C_STOPP herausnehmen und stattdessen I2C_START etwas ändern:

Code:
#I2C_START
   SDA = ON    ' Neu
   SCL = ON    ' Neu
   SDA = OFF
   SCL = OFF
return
Zumindest sind dann die Routinen OK. Natürlich kann es noch andere Fehler (Verdrahtung usw.) geben.

HTH und Viele Grüße
Jörg