VC6.0 操作下位机MODEM MODEM 2秒内收不到心跳包挂断连接MODEM时正常  发送操作命令时却串口堵塞 MODEM自动挂断串口操作用VC comm控件 串口初始化设置:    CString str;
    str.Format(_T("%d,%C,%d,%d"),9600,'N',8,1);
try
{    

m_comctrl.put_RThreshold(1);
m_comctrl.put_SThreshold(1);
m_comctrl.put_InputMode(1);
m_comctrl.put_Settings(str);
m_comctrl.put_Handshaking(0);
m_comctrl.put_CommPort(1);  // port settings start at 1
m_comctrl.put_PortOpen(TRUE);
}
catch(...)
{
return FALSE;
} hCom = (void *)m_comctrl.get_CommID();
写串口:   WriteFile(hCom, sbuf, sbuf.GetLength(), &size, &Overlapped);读串口:   ReadFile(hCom, &ch, 1, &size, &Overlapped);
第一次握手能接通MODEM 收到数据  第二次发送数据用串口调试工具监视发出成功  却无返回命令
有时DEBUG 下运行正常  RELEASE下运行失败
求高手相助!  广州市有意者内可CSDN消息给我 在线等  谢谢^_^

解决方案 »

  1.   


    悄悄告诉你一个 串口类CnComm         !!!
    具体网上找吧,哈哈。
      

  2.   

    Debug正常,那比较下配置吧,应该没有别的
      

  3.   

    谢谢楼上的两位 我在VS中用一样的代码重写了 debug下 当连接MODEM成功后 此线程就退出了
    对多线程理解不够 是不是这个线程退出 hcom 就改变了呢?
      

  4.   

    // debug正常,release有问题,检查下延时,同步等。
      

  5.   

    我还真用过boost的串口类,asio提供的
      

  6.   

    谢谢 各位
    我用一楼说的 cncomm类替换MFC的 mscomm 后一切正常了!
    非常感谢一楼! 结帐!