Hi,

sorry habe mich etwas ungenau ausgedrückt.

Ich verwende ein RN-Contrlerboard mit Mega32. Habe die PINs des Sensors: +5V, GND, SCL und SDA mit den zutreffenden PINs des Wannenstecker von PortC (I2C) verbunden.

Das Programm habe ich aus dem RN-Artikelbereich:

Code:
Declare Function Rn_cmps_himmelsrichtung() As Word
Declare Function Rn_cmps_firmware() As Byte


' ---------- Das RN-Control übliche --------------
$regfile = "m32def.dat"
$framesize = 42
$swstack = 32
$hwstack = 32

$crystal = 16000000                 'Quarzfrequenz
$baud = 9600
Config Scl = Portc.0                'Ports fuer IIC-Bus
Config Sda = Portc.1
' ------------------------------------------------

Dim Himmelsrichtung As Word
Dim Grad As Single
Dim V As Byte

   Wait 3                           'Warte 3 Sekunde
   I2cinit
   Print "RN-Control CMPS03 Kompass Testprogramm "
   Print "CMPS03 Kompass Firmware Version:" ; Rn_cmps_firmware()


   V = 1
   Do
     Himmelsrichtung = Rn_cmps_himmelsrichtung()
     Print "Himmelsrichtung in 0,1 Grad Schritten: " ; Himmelsrichtung
     Grad = Himmelsrichtung / 10
     Print "Himmelsrichtung genau in Grad: " ; Grad

     V = V + 3
     Wait 1
   Loop

End



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
   I2cwbyte 2
   I2cstop

   I2cstart
   I2cwbyte Cmps_slaveid_read
   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
   I2cwbyte 0                'Leseregister festlegen
   I2cstop

   I2cstart
   I2cwbyte Cmps_slaveid_read
   I2crbyte Firmware , Nack
   I2cstop

   Rn_cmps_firmware = Firmware
End Function
Danke & Grüße
Hendrik