STC I2C通信问题请教
有一个主机和10个从机,主机以前是用ESP32+micropython编写的,10个从机是用STC8G1K08,从机的地址设定为90~99,主从机之间通过4Pin的插座连接。以前micropython有个函数,主机可以查询到全部连接的I2C的地址,现在想用STC8H做为主机,请问怎样能查询到连接在总线上的从机的设备地址?自己编写一个类似于micropython的那个函数,原理很简单,按照通信规则遍历所有地址,有正常回应的进行记录统计。 用逻辑分析仪看了ESP32发的数据,发现一个很奇怪的事情,micropython 命令START后,程序写的是发的地址是92(10进制),逻辑分析仪看到发的地址是乘了2的,发的是184。STC主机改为发184后,也OK了。有点不是很明白。mpy 用的是这个命令:i2c.writeto_mem(92, 0,01)。记得当时用:I2C.writeto(92,01),从机收不到信息。 zhang_yg188 发表于 2024-5-29 18:13
用逻辑分析仪看了ESP32发的数据,发现一个很奇怪的事情,micropython 命令START后,程序写的是发的地址是92 ...
I²C的地址是7位,十进制的92是二进制的1011100,再加上一位表示写指令的0,就是二进制的10111000,是不是就是你以为的184了?
页:
[1]