Nano扩展口有两组I2C,分别为bus0 bus1
接口定义如下:
https://www.jetsonhacks.com/nvidia-jetson-nano-j41-header-pinout/
https://elinux.org/Jetson/I2C
I2C寄存器操作
i2cdump PORT SLAVE_ADDR
$ sudo i2cdump -f -y 4 0x40
i2cset PORT SLAVE_ADDR REG VALUE
$ sudo i2cset -f -y 4 0x40 0x58 0x05
i2cget PORT SLAVE_ADDR REG
$ sudo i2cget -f -y 4 0x40 0x58
连接Sensor 0a39测试 ,
scl -->>J41-28 (I2C bus0)
sda-->>J41-27 (I2C bus0)
GND-->>J41-30
sensor的power pwdn rst clk等由3.0提供
I2C地址为0x21 ,testapp显示为0x42
硬件连接以后
$ sudo i2cdetect -y -r 0
可以看到0x21被扫描出。
$ sudo i2cdump -f -y 0 0x21
可以看到0x00->0xff寄存器所对应的值
$ sudo i2cset -f -y 0 0x21 0x66 0x031
p0页 0地址寄存器设置为05
$ sudo i2cget -f -y 0 0x21 0x66
读p0页 0地址寄存器,结果为31