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

解决方案 »

  1.   

    串口是什么通信协议,如果是RS232的话,可以同时收发,485的话收和发只能分开。你就用两个定时器么,或者建个线程去做这件事,数据一发送就启动计时器(线程),在dataReceived事件里做一些事,比如改变某个变量的值,如果时间间隔后变量的值没变,就是超时
      

  2.   

    不是有个属性ReadTimeout吗,这个可以设定超时的时间,你设置下,然后超时会抛出异常
    发生超时,你再写入你要做的超时处理代码好了
      

  3.   

    楼上的,我用dataReceived读,没有数据触发不了com.read()啊
      

  4.   

    可以直接用Read操作,设置readTimeOut,超时时会引发一个超时异常。