串口通信中
如何使串口在接收数据时在ReadFile行监听0-5秒,因为数据可能在0-5秒内到达(不使用线程)。
我在socket中使用超时设置可以实现,可在串口中却不行,不知如何实现?
请各位高手多多指点,最好能给一段可运行的源代码,谢谢!

解决方案 »

  1.   

    超时可以实现的 COMMTIMEOUTS timeout = {    // 串口超时控制参数
            0,        // 读字符间隔超时时间: 0
            0,          // 读操作时每字符的时间: 0
            10,        // 读超时时间: 10 ms
            0,          // 写操作时每字符的时间: 0 ms (n个字符总共为n ms)
            10};       // 写超时 10ms对于单个字符超时设为0表示忽略,上面的设置表示读操作,写操作的超时时间各为10ms
      

  2.   

    用定时,当接到数据后SetTimer( 5000 ),延迟5秒以后,再读数据就可以了!!
      

  3.   

    我用COMMTIMEOUTS 试了几次好像都不行,奇怪,现在没办法临时先用Sleep()应付过去了,我不太清楚用Sleep()会不会有其他问题