Hallo Diron,

probier die Functions 'mal so:
Code:
Function Rn_cmps_himmelsrichtung() As Word 
Local Lob As Byte 
Local Hib As Byte 
Local Cmps_slaveid As Byte 
Local Cmps_slaveid_read As Byte 

Cmps_slaveid = &HC0 
Cmps_slaveid_read = Cmps_slaveid + 1 'Register auswählen 
I2cstart 
I2cwbyte Cmps_slaveid , Ack
I2cwbyte 2 
Waitms 10 

I2cstart 
I2cwbyte Cmps_slaveid_read , Ack
I2crbyte Hib , Ack 
I2crbyte Lob , Nack 
I2cstop 

Rn_cmps_himmelsrichtung = Makeint(lob , Hib) 
End Function 


Function Rn_cmps_firmware() As Byte 
Local Firmware As Byte 
Local Cmps_slaveid As Byte 
Local Cmps_slaveid_read As Byte 

Cmps_slaveid = &HC0 
Cmps_slaveid_read = Cmps_slaveid + 1 

I2cstart 
I2cwbyte Cmps_slaveid , Ack
I2cwbyte 0 'Leseregister festlegen 
Waitms 10 

I2cstart 
I2cwbyte Cmps_slaveid_read , Ack
I2crbyte Firmware , Nack 
I2cstop 

Rn_cmps_firmware = Firmware 
End Function
Gruß Dirk