Versuch erst mal ne Adresse zu finden mit dem Software I2C, da kann man zumindest erst mal schauen ob ein Teilnehmer am Bus ist.
Müsste natürlich noch ein bischen angepast werden von dirCode:$regfile = "M32DEF.DAT" $crystal = 16000000 $baud = 9600 Config Sda = Portc.1 Config Scl = Portc.0 Config I2cdelay = 10 Dim Busaddress As Byte Dim Busaddress_read As Byte Dim Chipaddress As Byte Dim Erkannt As Bit : 'Scan bus for valid I2C addresses on bus ' ( test for ACK to come back from Busaddress ) Print "Scan start" For Busaddress = 0 To 255 'for all even addresses I2cstart I2cwbyte Busaddress If Err = 0 Then Erkannt = 1 Print "Slave at address: " ; Busaddress ; " Dezimal, = " ; Hex(busaddress) ; " hex" 'Chipaddress = Busaddress \ 2 'Print " with chip address " ; Hex(chipaddress) ; "hex" End If I2cstop 'free bus Next Print "End Scan" If Erkannt = 0 Then Print "Keine I2C Teilnehmer gefunden!!" Do Loop![]()
Lesezeichen