打印
[MCU]

复位430单片机就能正常通信了

[复制链接]
961|34
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhanghqi|  楼主 | 2019-8-4 15:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
jlyuan| | 2019-8-4 15:50 | 只看该作者

嗯, 你的软件应该加个通信超时处理来解决这个问题

使用特权

评论回复
板凳
yszong| | 2019-8-4 15:53 | 只看该作者
楼上正解。估计是程序卡在那个地方成死循环了,跳不出来

使用特权

评论回复
地板
huangchui| | 2019-8-4 16:13 | 只看该作者
你的通信没有做协议,导致乱了吧。

使用特权

评论回复
5
liliang9554| | 2019-8-4 16:19 | 只看该作者
如果一次数据传输不能够全部完成,包括stop位的发送,那么对另一端就会造成影响。建议你**另一端为什么会发送不完全。

使用特权

评论回复
6
jlyuan| | 2019-8-4 16:23 | 只看该作者
应该是出错后你的数据线和时钟线未被释放。要恢复通信,必须保证I2C DATA和CLK为高电平,即释放状态。

使用特权

评论回复
7
zhanghqi|  楼主 | 2019-8-4 16:27 | 只看该作者
通信是有协议的,两边都是硬件iic,我猜想是主发送读命令时,从机装载数据,但是主没有发送scl就从新开始发送写的命令,这样会不会出错啊?

使用特权

评论回复
8
yszong| | 2019-8-4 16:30 | 只看该作者
加入容错机制

使用特权

评论回复
9
jiajs| | 2019-8-4 16:32 | 只看该作者
难道用的IIC中断,没有清楚标志?

使用特权

评论回复
10
dengdc| | 2019-8-4 16:35 | 只看该作者
这个需要看下代码和协议,这样猜测的可能很多了

使用特权

评论回复
11
huangchui| | 2019-8-4 16:40 | 只看该作者

有可能是处于死机状态。

使用特权

评论回复
12
heweibig| | 2019-8-4 16:44 | 只看该作者

建议楼主加入容错机制    当通信时  定时器开始计时   传送一段字节,即让定时器清零   当因为通信错误使从机未发出定时器清零  定时器计时完成即I2C DATA和CLK为高电平,恢复初始状态  重新通信  但要设置一个断点通信功能   即从哪里断开  从哪里续传    说了这么多   其实就是要加一个合理的通信协议      希望能帮到你

使用特权

评论回复
13
lizye| | 2019-8-4 16:47 | 只看该作者
发现通讯错误后就应该STOP ,然后重新发送

使用特权

评论回复
14
zhanghqi|  楼主 | 2019-8-4 16:50 | 只看该作者
哦, 多谢大家啊,那就先结贴了

使用特权

评论回复
15
comparison| | 2019-8-4 18:33 | 只看该作者
要加上超时复位功能,重启通讯模块

使用特权

评论回复
16
51xlf| | 2019-8-4 22:20 | 只看该作者
电源电压不稳或强干扰引起 跑飞  

使用特权

评论回复
17
i1mcu| | 2019-8-4 22:21 | 只看该作者
最好用仿真器仿真下   

使用特权

评论回复
18
pmp| | 2019-8-4 22:21 | 只看该作者
外界硬件引起程序延时导致看门狗复位?   

使用特权

评论回复
19
mmbs| | 2019-8-4 22:21 | 只看该作者
是否打开了某个中断   

使用特权

评论回复
20
1988020566| | 2019-8-4 22:21 | 只看该作者
中断变量处理不妥。  

使用特权

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

本版积分规则

852

主题

11757

帖子

5

粉丝