[应用相关] stm8的I2C问题

[复制链接]
 楼主| Garen2 发表于 2016-10-21 20:42 | 显示全部楼层 |阅读模式
请各位大侠帮忙看看,我现在用的是stm8作为I2C的从机来接收主板发来的数据,stm8进行数据处理后再发送给数码管驱动芯片TM1640,有时候有几块板子数码管数据停止刷新,有几块板子接收数据不正常,出现了一个0x77的数据,但明明主板是没发这个数据的,求哪位大侠帮忙指点指点
尤彼卡 发表于 2016-10-21 20:58 | 显示全部楼层
硬件i2C,还是模拟的?硬件的好像是不太稳定
Stannis 发表于 2016-10-21 21:11 | 显示全部楼层
看看程序是是否存在一些中断什么的,中断如果频繁出现,这样就容易破坏i2C的时序
Rangar 发表于 2016-10-21 21:23 | 显示全部楼层
中断如果频繁出现

如果这样,尽量降低中断频率,或是否可以在执行i2C操作时,关中断
Thor9 发表于 2016-10-21 21:41 | 显示全部楼层
主设备不是发送某些数据,容易导致出问题。或者单片机在什么情况下,容易接收错误
Rollo 发表于 2016-10-21 21:47 | 显示全部楼层
实际发送和错误接收的数据,有没有关系。错误接收是特定的错误数据,还是各种变化
chenjinyu 发表于 2016-10-24 22:40 | 显示全部楼层
Stannis 发表于 2016-10-21 21:11
看看程序是是否存在一些中断什么的,中断如果频繁出现,这样就容易破坏i2C的时序 ...

是这样的,本来用中断方式的。手数据。头上有2块不同主板。1块主板能够接收正常,另一块多出来2个数据。不正常的那块主板使用模拟I2C的方式。后来我改用查询方式。用着用着有些就会出现我问的问题了
chenjinyu 发表于 2016-10-24 22:41 | 显示全部楼层
Thor9 发表于 2016-10-21 21:41
主设备不是发送某些数据,容易导致出问题。或者单片机在什么情况下,容易接收错误 ...

这个是随机的。原因现在应该已经发现。就是有个数据错位了
chenjinyu 发表于 2016-10-24 22:43 | 显示全部楼层
Rollo 发表于 2016-10-21 21:47
实际发送和错误接收的数据,有没有关系。错误接收是特定的错误数据,还是各种变化 ...

它是有个数据错位了。我把接收到的第3个字节显示出来,显示出来是第2个字节。而且有时候数码管还会停止刷新。
chenjinyu 发表于 2016-10-24 22:45 | 显示全部楼层
Stannis 发表于 2016-10-21 21:11
看看程序是是否存在一些中断什么的,中断如果频繁出现,这样就容易破坏i2C的时序 ...

没有其他中断,就1个I2C
您需要登录后才可以回帖 登录 | 注册

本版积分规则

153

主题

734

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部