找回密码
 立即注册
查看: 347|回复: 4

STC I2C通信问题请教

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2024-07-18 11:10:17

4

主题

15

回帖

128

积分

注册会员

积分
128
发表于 2024-5-27 17:22:38 | 显示全部楼层 |阅读模式
有一个主机和10个从机,主机以前是用ESP32+micropython编写的,10个从机是用STC8G1K08,从机的地址设定为90~99,主从机之间通过4Pin的插座连接。以前micropython有个函数,主机可以查询到全部连接的I2C的地址,现在想用STC8H做为主机,请问怎样能查询到连接在总线上的从机的设备地址?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2024-5-27 20:32:38 | 显示全部楼层
自己编写一个类似于micropython的那个函数,原理很简单,按照通信规则遍历所有地址,有正常回应的进行记录统计。
睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2024-07-18 11:10:17

4

主题

15

回帖

128

积分

注册会员

积分
128
发表于 2024-5-29 18:13:57 | 显示全部楼层
用逻辑分析仪看了ESP32发的数据,发现一个很奇怪的事情,micropython 命令START后,程序写的是发的地址是92(10进制),逻辑分析仪看到发的地址是乘了2的,发的是184。STC主机改为发184后,也OK了。有点不是很明白。mpy 用的是这个命令:i2c.writeto_mem(92, 0,01)。记得当时用:I2C.writeto(92,01),从机收不到信息。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:455
  • 最近打卡:2025-05-01 08:13:06
已绑定手机

27

主题

341

回帖

1687

积分

金牌会员

机长

积分
1687
发表于 2024-6-21 11:36:12 | 显示全部楼层
zhang_*** 发表于 2024-5-29 18:13
用逻辑分析仪看了ESP32发的数据,发现一个很奇怪的事情,micropython 命令START后,程序写的是发的地址是92 ...

I²C的地址是7位,十进制的92是二进制的1011100,再加上一位表示写指令的0,就是二进制的10111000,是不是就是你以为的184了?
业余撸代码,专业开飞机
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:16 , Processed in 0.122082 second(s), 72 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表