单片机通讯时死机

[复制链接]
lizye 发表于 2014-10-14 21:20 | 显示全部楼层
我也遇到过这个问题,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 发表于 2014-10-14 21:21 | 显示全部楼层
同意软件问题的说法,你没有在终端里面加入20楼所述的相关处理,这才是真正的问题。通信只要硬件通路不短不断,就应该可以恢复正常的状态。难道你家里面的modem遇到闪电就要死机必须重启么?
 楼主| jlyuan 发表于 2014-10-14 21:23 | 显示全部楼层
软件问题偏多  电路一般都按推荐电路来  硬件问题应该不大  排除焊接工艺问题
zhaoxqi 发表于 2014-10-14 21:23 | 显示全部楼层


加入容错机制
 楼主| jlyuan 发表于 2014-10-14 21:25 | 显示全部楼层
嗯,我知道了,多谢啊
 楼主| jlyuan 发表于 2014-10-14 21:25 | 显示全部楼层
那就先结贴了哦
smilingangel 发表于 2014-10-16 17:34 | 显示全部楼层
这个不行的话就给接收数据的程序的加一个看门狗的呗。。怎不能让死到那个地方的吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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