Hur du aktiverar I2C på RaspberryPI (4 / 5 steg)
Steg 4: Upptäcka i2c på RPI
Vi kan också lista vår buss. Det visas följande:
PI $ i2cdetect -l
I2C-1 i2c 20804000.i2c I2C adapter
Vi är nästan klar. Nu kan vi upptäcka i2c på rpi. Vi skriver igen belowing kommandon i cdm skal. Den ger oss något nedan.
PI $ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 en b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Med denna i2cdetect -y 1 kommer kommandot I2C buss 1 söka anslutna enheter. I detta fall jag inte har anslutit några enheter på grund av detta inget att se. Om du ansluter alla enheter till din rpi, beror det på adress, kommer det att verka som denna.
0 1 2 3 4 5 6 7 8 9 en b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- 21 -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Det innebär en i2c slav enhet med 0x21 adress är ansluten.
Andra extra i2c-tools, som installeras i rpi: i2cget och i2cset
Om du vill läsa från enhet, kan du använda i2cget
PI $ sudo i2cget -y 1
pi $ sudo i2cget -y 1 0x08
0x00
I2cget -y 1 berättar rpi, det rpi bör läsa en i2c enhet. 1 används buss i rpi.
Som ett returvärde visas 0x00. (I detta fall i samband en i2c enhet med 0x08 adress.)
I andra hand om du vill skriva in din enhet, kan du använda i2cset
PI $ sudo i2cset -y 1
PI $ sudo i2cset -y 1 0x08 0x00
I2cset -y 1 0x08 0x00 berättar rpi, som han vill skriva in 0x08 i2c enhetens adress och 0x00 är byte datavärde för det.
Senaste redskap är i2cdump.
PI $ sudo i2cdump -y 1 0x08
Dumpar värden från en i2c perifera. Om du skriver detta kan du har något liknande
0 1 2 3 4 5 6 7 8 9 en b c d e f 0123456789abcdef
00: XX 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 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
........