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
Lesezeichen