Zu I2C gibt es schon diverse Samples (Beispiele)
- ' file: I2C.BAS
' demo: I2CSEND and I2CRECEIVE
oder in der Hilfe
- I2CSEND , I2CRECEIVE , I2CSTART , I2CSTOP, I2CRBYTE , I2CWBYTE, CONFIG SDA ,CONFIG SCL , CONFIG I2CDELAY
Hier ein Demo um 15 Bytes in ein Array zu lesen
Code:$regfile = "m32def.dat" ' the used chip $crystal = 8000000 $baud = 19200 ' baud rate Config Sda = Portb.5 Config Scl = Portb.7 Const Slave = &H120 Dim Buf(15) As Byte I2creceive Slave , Buf(1) , 0 , 15 'send 0 bytes and receive 15 byte End
Wenn Du vorher einige Bytes an den Slave senden willst /z.B. 2 Bytes da musst du in das Array zunächst die zu sendenden Werte schreiben, den Befehl ändern "I2creceive Slave , Buf(1) , 2 , 15"
Das Array wird dann mit den empfangen Werten überschrieben.







Zitieren
Lesezeichen