发新帖我要提问
12
返回列表
打印

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

[复制链接]
楼主: jlyuan
手机看帖
扫描二维码
随时随地手机跟帖
21
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; //串口中断标志
}
}

使用特权

评论回复
22
zhaoxqi| | 2017-3-18 23:05 | 只看该作者
同意软件问题的说法,你没有在终端里面加入20楼所述的相关处理,这才是真正的问题。通信只要硬件通路不短不断,就应该可以恢复正常的状态。难道你家里面的modem遇到闪电就要死机必须重启么?

使用特权

评论回复
23
jlyuan|  楼主 | 2017-3-18 23:07 | 只看该作者
软件问题偏多  电路一般都按推荐电路来  硬件问题应该不大  排除焊接工艺问题

使用特权

评论回复
24
zhaoxqi| | 2017-3-18 23:09 | 只看该作者
加入容错机制

使用特权

评论回复
25
zhanghqi| | 2017-3-18 23:11 | 只看该作者
这个不行的话就给接收数据的程序的加一个看门狗的呗。。怎不能让死到那个地方的吧

使用特权

评论回复
26
jlyuan|  楼主 | 2017-3-18 23:15 | 只看该作者
嗯,预料中的结果,先结贴吧,多谢大家啦

使用特权

评论回复
27
houjiakai| | 2017-3-19 14:14 | 只看该作者
电压波动死机,就是电源不稳定。

使用特权

评论回复
28
houjiakai| | 2017-3-19 14:18 | 只看该作者
使用隔离芯片,隔离信号。

使用特权

评论回复
29
angerbird| | 2017-3-19 19:55 | 只看该作者
这个是什么情况的?

使用特权

评论回复
30
comeon201208| | 2017-3-19 22:24 | 只看该作者
这个就是说单片机的稳定性不好

使用特权

评论回复
31
comeon201208| | 2017-3-19 22:25 | 只看该作者
解决办法的及时给UARt的IO口的加上信号隔离措施的

使用特权

评论回复
32
qiufengsd| | 2017-3-20 12:37 | 只看该作者
串口电压怎么能够波动?

使用特权

评论回复
33
qiufengsd| | 2017-3-20 12:38 | 只看该作者
电脑串口一般都是不供电的,使用外部供电。

使用特权

评论回复
34
Snow7| | 2017-3-21 20:46 | 只看该作者
给串口加级隔离吧

用什么隔离?加什么隔离

使用特权

评论回复
35
suzhanhua| | 2017-3-21 22:43 | 只看该作者
是不是通信芯片的问题?

使用特权

评论回复
36
suzhanhua| | 2017-3-21 22:54 | 只看该作者
单片机容易死机,可能电源不稳定。

使用特权

评论回复
37
mituzu| | 2017-3-24 21:27 | 只看该作者
使用隔离的芯片,隔离电源。

使用特权

评论回复
38
mituzu| | 2017-3-24 21:27 | 只看该作者
串口电压比较稳定,还是不要使用5V的串口芯片。

使用特权

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

本版积分规则