各位大神帮帮忙!
有人用树莓派读取MLX90621红外传感器中的数据吗?
为什么我用i2cdump -y 1 0x60查看不到动态变化的数据,里面全是ff,
而i2cdump -y 1 0x50 查看到固定不变的数据,0x50里面存放的是校正数据吗?
这个问题也困然了我很长时间
90621读取数据时, 需要先写入5个字节【写地址0x60,命令字0x02,起始地址0x00,间隔0x01,长度0x40】,然后再入读地址0x60,
然后读取信息。 一般i2cdump命令只写入地址和命令字,没有后面的三个字节, 就不能直接读了。
用python读取温度信息时,需要安装smbus2 这个包,因为这个包里增加了一个函数 i2c_msg(), _可以将读写组合起来用, 组合起来
之后可以有多个起始位,但只有一个结束位,符合90621文档上的时序要求。具体可参考以下代码:
vals = [0x02, 0x00, 0x01, 0x42]
writemsg = smbus2.i2c_msg.write(0x60, vals)
readmsg = smbus2.i2c_msg.read(0x60, 132)
bus.i2c_rdwr(writemsg, readmsg)
读出来的信息就在readmsg.buf 里