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

STC8 I2C从机,示例代码跑起有点bug,提一点修改建议

[复制链接]

1

主题

1

回帖

21

积分

新手上路

积分
21
发表于 2022-12-21 22:57:42 | 显示全部楼层 |阅读模式
本帖最后由 czczcz 于 2022-12-21 22:59 编辑

使用STC8作为从机。
发现树莓派读完后,被读的寄存器就莫名其妙被修改了。
最终debug发现是示例代码把第二个START后的设备地址识别为了数据。
因此需要在处理START事件时,加上isda = 1;(或者isda = 1;isma = 1;)
希望官方在下一版中修改示例代码,详细如下图所示:

bug.png



回复

使用道具 举报 送花

1

主题

1

回帖

21

积分

新手上路

积分
21
发表于 2022-12-21 23:01:03 | 显示全部楼层
GG,发错版块了:L:L:L
  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-04-30 14:38:57

25

主题

977

回帖

3599

积分

超级版主

积分
3599
发表于 2022-12-23 09:44:58 | 显示全部楼层
本帖最后由 zhp 于 2022-12-23 10:14 编辑

从机检测到START事件后,将isda设置为1确实能提高从机代码的兼容性
已安排后续更新I2C的从机范例代码。感谢热心网友的建议!
  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2022-12-23 10:40:24 | 显示全部楼层
我是在收到START信号后将接收到地址标记为0(即未收到地址),这样处理就是要求:START信号后跟的是地址。
已绑定手机

0

主题

3

回帖

14

积分

新手上路

积分
14
发表于 2024-12-14 12:23:10 | 显示全部楼层

image.png

stc8h1k08T的iic从机,读取2个字节,第二个字节会出现错误

回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 02:17 , Processed in 0.224358 second(s), 79 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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