请问这种情况该怎么去解决?

[复制链接]
1911|37
shimx 发表于 2017-3-18 23:04 | 显示全部楼层
我也遇到过这个问题,16F877死在串口接收那里,后来接受中断部分改成这样就好了
if(RCIE && RCIF) // 串口中断
{
if (OERR || FERR)
{
SPEN=0;
CREN = 0;
rxdbuf = RCREG;
rxdbuf = RCREG;
CREN = 1;
SPEN=1;
}
else
{
rxdbuf = RCREG; //读取串口接收数据
usart_flag = 1; //串口中断标志
}
}
zhaoxqi 发表于 2017-3-18 23:05 | 显示全部楼层
同意软件问题的说法,你没有在终端里面加入20楼所述的相关处理,这才是真正的问题。通信只要硬件通路不短不断,就应该可以恢复正常的状态。难道你家里面的modem遇到闪电就要死机必须重启么?
 楼主| jlyuan 发表于 2017-3-18 23:07 | 显示全部楼层
软件问题偏多  电路一般都按推荐电路来  硬件问题应该不大  排除焊接工艺问题
zhaoxqi 发表于 2017-3-18 23:09 | 显示全部楼层
加入容错机制
zhanghqi 发表于 2017-3-18 23:11 | 显示全部楼层
这个不行的话就给接收数据的程序的加一个看门狗的呗。。怎不能让死到那个地方的吧
 楼主| jlyuan 发表于 2017-3-18 23:15 | 显示全部楼层
嗯,预料中的结果,先结贴吧,多谢大家啦
houjiakai 发表于 2017-3-19 14:14 | 显示全部楼层
电压波动死机,就是电源不稳定。
houjiakai 发表于 2017-3-19 14:18 | 显示全部楼层
使用隔离芯片,隔离信号。
angerbird 发表于 2017-3-19 19:55 | 显示全部楼层
这个是什么情况的?
comeon201208 发表于 2017-3-19 22:24 | 显示全部楼层
这个就是说单片机的稳定性不好
comeon201208 发表于 2017-3-19 22:25 | 显示全部楼层
解决办法的及时给UARt的IO口的加上信号隔离措施的
qiufengsd 发表于 2017-3-20 12:37 | 显示全部楼层
串口电压怎么能够波动?
qiufengsd 发表于 2017-3-20 12:38 | 显示全部楼层
电脑串口一般都是不供电的,使用外部供电。
Snow7 发表于 2017-3-21 20:46 | 显示全部楼层
给串口加级隔离吧

用什么隔离?加什么隔离
suzhanhua 发表于 2017-3-21 22:43 | 显示全部楼层
是不是通信芯片的问题?
suzhanhua 发表于 2017-3-21 22:54 | 显示全部楼层
单片机容易死机,可能电源不稳定。
mituzu 发表于 2017-3-24 21:27 | 显示全部楼层
使用隔离的芯片,隔离电源。
mituzu 发表于 2017-3-24 21:27 | 显示全部楼层
串口电压比较稳定,还是不要使用5V的串口芯片。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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