最近,我使用同步方式打开串口,可是如果串口没有收到数据,就永远处于等待状态,也就是说,程序僵死。
   如果谁能告诉我,解决的方法。我将感激不尽。

解决方案 »

  1.   

    有呀,你可以通过SetCommTimeouts设置设备DCB结构体的超时值例如:
             // Get Comm Timeouts
    if(!GetCommTimeouts(m_hPort,&m_CommTimeouts)) return FALSE; // Set Comm Timeouts
    m_CommTimeouts.ReadIntervalTimeout = 500;
    m_CommTimeouts.ReadTotalTimeoutMultiplier = 500;
    m_CommTimeouts.ReadTotalTimeoutConstant = 1000;
    m_CommTimeouts.WriteTotalTimeoutMultiplier = 500;
    m_CommTimeouts.WriteTotalTimeoutConstant = 1000; if(!SetCommTimeouts(m_hPort,&m_CommTimeouts)) 
    return FALSE;
      

  2.   

    可是按照你说的仍然不能解决问题,我想问的是:是否某些DCB结构的成员应该加限制条件?