找回密码
 立即注册
查看: 1393|回复: 3

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

[复制链接]

该用户从未签到

1

主题

1

回帖

19

积分

新手上路

积分
19
发表于 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

回帖

19

积分

新手上路

积分
19
 楼主| 发表于 2022-12-21 23:01:03 | 显示全部楼层
GG,发错版块了:L:L:L
  • TA的每日心情
    开心
    7 天前
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    16

    主题

    724

    回帖

    2578

    积分

    超级版主

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

    从机检测到START事件后,将isda设置为1确实能提高从机代码的兼容性
    已安排后续更新I2C的从机范例代码。感谢热心网友的建议!

    该用户从未签到

    46

    主题

    3042

    回帖

    6857

    积分

    超级版主

    积分
    6857
    发表于 2022-12-23 10:40:24 | 显示全部楼层
    我是在收到START信号后将接收到地址标记为0(即未收到地址),这样处理就是要求:START信号后跟的是地址。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2024-5-18 21:41 , Processed in 0.058272 second(s), 43 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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