打印
[应用相关]

stm8的I2C问题

[复制链接]
603|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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操作时,关中断

使用特权

评论回复
5
Thor9| | 2016-10-21 21:41 | 只看该作者
主设备不是发送某些数据,容易导致出问题。或者单片机在什么情况下,容易接收错误

使用特权

评论回复
6
Rollo| | 2016-10-21 21:47 | 只看该作者
实际发送和错误接收的数据,有没有关系。错误接收是特定的错误数据,还是各种变化

使用特权

评论回复
7
chenjinyu| | 2016-10-24 22:40 | 只看该作者
Stannis 发表于 2016-10-21 21:11
看看程序是是否存在一些中断什么的,中断如果频繁出现,这样就容易破坏i2C的时序 ...

是这样的,本来用中断方式的。手数据。头上有2块不同主板。1块主板能够接收正常,另一块多出来2个数据。不正常的那块主板使用模拟I2C的方式。后来我改用查询方式。用着用着有些就会出现我问的问题了

使用特权

评论回复
8
chenjinyu| | 2016-10-24 22:41 | 只看该作者
Thor9 发表于 2016-10-21 21:41
主设备不是发送某些数据,容易导致出问题。或者单片机在什么情况下,容易接收错误 ...

这个是随机的。原因现在应该已经发现。就是有个数据错位了

使用特权

评论回复
9
chenjinyu| | 2016-10-24 22:43 | 只看该作者
Rollo 发表于 2016-10-21 21:47
实际发送和错误接收的数据,有没有关系。错误接收是特定的错误数据,还是各种变化 ...

它是有个数据错位了。我把接收到的第3个字节显示出来,显示出来是第2个字节。而且有时候数码管还会停止刷新。

使用特权

评论回复
10
chenjinyu| | 2016-10-24 22:45 | 只看该作者
Stannis 发表于 2016-10-21 21:11
看看程序是是否存在一些中断什么的,中断如果频繁出现,这样就容易破坏i2C的时序 ...

没有其他中断,就1个I2C

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

153

主题

734

帖子

3

粉丝