Stap 4: Detecteren i2c op de RPI
We kunnen ook onze bus lijst. Lijkt het volgende:
Pi $ i2cdetect -l
I2C-1 i2c 20804000.i2c I2C adapter
We zijn bijna klaar. Nu kunnen we herkennen i2c op de rpi. Opnieuw typen we belowing opdrachten in cdm-shell. Het levert ons iets hieronder.
Pi $ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 een b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Met deze i2cdetect -y 1 zal opdracht de I2C Bus 1 aangesloten apparaten zoeken. In dit geval nog niet ik aangesloten apparaten hierdoor niets te zien. Als u alle apparaten op de rpi aansluit, hangt het adres, zal het lijken net als dit.
0 1 2 3 4 5 6 7 8 9 een b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- 21 -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Het betekent, een i2c-slave-apparaat met 0x21 adres is aangesloten.
Andere bijkomende i2c-tools, die is geïnstalleerd in rpi: i2cget en i2cset
Als u lezen van apparaat wilt, kunt u i2cget
Pi $ sudo i2cget -y 1
pi $ sudo i2cget -y 1 0x08
0x00
De i2cget -y 1 vertelt de rpi, dat rpi moet lezen een i2c apparaat. 1 gebruikt bus in rpi.
Als een retourwaarde ziet u 0x00. (In dit geval ik aangesloten een i2c-apparaat met 0x08 adres.)
In de andere hand als u wilt schrijven in het apparaat, kunt u i2cset
Pi $ sudo i2cset -y 1
Pi $ sudo i2cset -y 1 0x08 0x00
De i2cset -y 1 0x08 0x00 vertelt rpi, dat hij wil schrijven in 0x08 i2c apparaatadres en 0x00 is de bytewaarde van de gegevens voor het.
Laatste hulpmiddel is i2cdump.
Pi $ sudo i2cdump -y 1 0x08
Waarden uit een perifere i2c dumpt. Als u dit type kunt u iets dergelijks hebben
0 1 2 3 4 5 6 7 8 9 een b c d e f 0123456789abcdef
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 XX X...
10: 00 00 00 00 00 00 00 00 00 XX XX XX XX XX XX XX XXXXXXX
20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
...
a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
B0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
........