日期:2014-05-17  浏览次数:20916 次

如何实现串口超时处理
用dataReceived接收响应数据,那怎么判断串口超时问题呢?
知道用定时器可以,但是我要用定时器发握手包,怎么实现呢?

------解决方案--------------------
串口是什么通信协议,如果是RS232的话,可以同时收发,485的话收和发只能分开。你就用两个定时器么,或者建个线程去做这件事,数据一发送就启动计时器(线程),在dataReceived事件里做一些事,比如改变某个变量的值,如果时间间隔后变量的值没变,就是超时
------解决方案--------------------
不是有个属性ReadTimeout吗,这个可以设定超时的时间,你设置下,然后超时会抛出异常
发生超时,你再写入你要做的超时处理代码好了