当前位置: 代码迷 >> 单片机 >> Com串口通信出现程序假死,该怎么解决
  详细解决方案

Com串口通信出现程序假死,该怎么解决

热度:96   发布时间:2016-04-28 15:02:02.0
Com串口通信出现程序假死
本帖最后由 u014195760 于 2014-03-18 14:56:41 编辑
我用的spcomm控件与松下PLC进行通信,有时会出现程序假死状况,平均2-3天出现一次,发现是软件和PLC通信出现了问题,但是具体哪里出错找不到,重启电脑和PLC都没用,找不到解决办法,然后莫名其妙的自己又好了。spcomm接收数据用的控件自带的接收数据事件,每隔100ms读一次。请教可能是哪里出现了问题,该如何分析寻找以及解决
------解决方案--------------------
调试运行个2-3天,假死时看看死在哪了
------解决方案--------------------
用一个串口记录软件记录串口收发内容等待死机接着分析
------解决方案--------------------
引用:
to ycbx1569:
补充说明一下,有次我将波特率改到19200(开始是57600),通信间隔改到500ms,正常运行一段时间后,再改回原来的波特率和通信间隔又能正常运行。小弟我是第一次接触串口通信,想请教一下有什么串口记录软件可以记录串口收发内容,除了接收到plc的应答信息,还有其他方法确认plc有接收到我的数据吗?目前,我在程序里面添加了段代码,用一个文本文件记录了我发送的内容和接收的内容,卡的时候看了下发送的文本是正常的(这个我是直接把我发送的内容写到文本里面,无法确认发送的内容有通过串口成功发送到plc),但接收到的内容跟发送内容就不一一对应了,接收记录基本在1S左右才有一条,有时还不止1s,正常应该是1s有4-5条记录而且和发送记录一一对应。可能会是哪些故障引起pc和plc通讯出现故障,如果是软件问题,除了死循环还会有其他状况不?

可以使用AccessPort这个软件,可以监控串口收发的数据内容,数据长度,时间等。并且监控的时候不会占用你的串口,需要注意的是打开串口前要先打开AccessPort这个软件
------解决方案--------------------
注意清串口的缓存数据,之前有同事碰到串口经常死掉的情况。
  相关解决方案