VC中用MSCOMM控件m_Com.get_Input(); 读取数据就抛出异常。
您好,串口编程的问题建议您这边把稍完整的代码段发出来,我们windows同事看下。也可以直连下我们技术支持,看下编程的细节问题。
if (m_Com.get_PortOpen())
m_Com.put_PortOpen(FALSE);
try
{
m_Com.put__CommPort(m_iCom);
m_Com.put_InBufferSize(1024); //设置输入缓存区的大小,Bytes
m_Com.put_OutBufferSize(512); //设置发送缓存区的大小,Bytes
m_Com.put_PortOpen(true); // 打开串口
m_Com.put_InputMode(1); //以二进制方式接收数据
m_Com.put_Settings("9600,n,8,1"); //设置数据传输速率等参数
m_Com.put_RThreshold(1); //表示收到12个字符引发一个OnComm事件
m_Com.put_InputLen(1024); //一次读出接收缓存区的字符
m_Com.get_Input(); //清空接收缓存区
m_iComOpen = 1;
}
catch (...)
{
m_iComOpen = 0;
AfxMessageBox("电源串口打开出错,请正设置串口号,并确保串口未被占用!");
}
m_Com.get_Input(); 就会异常
您好,暂时没有更新的驱动版本,我们已将此问题反馈给windows同事做下排查,有更新的版本同步通知您下。
有编译好的EXE吗?压缩一下,发到论坛我们再测试下。