ich habe einen I2C Sensor VCNL3040 von Vishay, das ist ein optischer Distanz Sensor.
Der Sensor ist an einen Atmgea328P angeschlossen, sie Serielle Schnittstelle zum PC läuft auch.
Ich habe ein Testprogramm laufen lassen um die I2C Adresse herauszufinden.
Diese wir im Seriellen Monitor auch angezeigt, deshalb gehe ich davon aus das alle Anschlüsse ok sind.
Der Serielle Monitor zeiht mit die I2C Adresse H60 an:
Scan start
Slave at : 192d, = C0hex
with chip address 60h
End Scan´
Das Problem wird in der nächsten Nachricht beschreiben weil ich am Ende der Verfügbaren Zeichen war...
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Dima () aus folgendem Grund: Hier ist mein Bascom Coode: $regfile = "m328pdef.dat" $crystal = 1000000 $baud = 9600 Config Sda = Portc.4 Config Scl = PortC.5 Const schreiben_Adresse= &H60 Const lesen_Adresse= &H61 I2cinit Dim Lowbyte As Byte Dim Highbyte As Byte Lowbyte=0 Highbyte=0 Do 'Hier möchte ich meinen Sensor parametrieren: I2cstart 'I2C Start I2cwbyte &H60 'Adresse schreiben I2cwbyte &H03 'Commandcode 0x03 I2cwbyte &B00000000 'Lowbyte I2cwbyte &B00000000 'Highbyte I2cstop 'I2C Stop Print Err 'Error Im Seriellen Monitoir drucken, bei 0 ok, bei 1 kein Ack vom Sensor erhalten 'Hier möchte ich die Parametrierung aus dem Sensor auslesen: I2cstart I2cwbyte &H61 'Adresse schreiben I2cwbyte &H03 'Command Code I2cstart I2cwbyte &H61 'Adresse schreiben I2cwbyte &H03 'Command Code I2crbyte Lowbyte , ack 'Lowbyte lesen und eine ACK senden I2crbyte Highbyte , Nack 'High Byte lesen und einen NACK senden I2cstop waitms 1 Print "Highbyte: "; Highbyte Print "Lowbyte: "; Lowbyte Print Err Loop END