VC中用MSCOMM控件m_Com.get_Input();?讀取數(shù)據(jù)就拋出異常。
您好,串口編程的問題建議您這邊把稍完整的代碼段發(fā)出來,我們windows同事看下。也可以直連下我們技術(shù)支持,看下編程的細(xì)節(jié)問題。
if (m_Com.get_PortOpen())
m_Com.put_PortOpen(FALSE);
try
{
m_Com.put__CommPort(m_iCom);
m_Com.put_InBufferSize(1024); //設(shè)置輸入緩存區(qū)的大小,Bytes
m_Com.put_OutBufferSize(512); //設(shè)置發(fā)送緩存區(qū)的大小,Bytes
m_Com.put_PortOpen(true); // 打開串口
m_Com.put_InputMode(1); //以二進(jìn)制方式接收數(shù)據(jù)
m_Com.put_Settings("9600,n,8,1"); //設(shè)置數(shù)據(jù)傳輸速率等參數(shù)
m_Com.put_RThreshold(1); //表示收到12個字符引發(fā)一個OnComm事件
m_Com.put_InputLen(1024); //一次讀出接收緩存區(qū)的字符
m_Com.get_Input(); //清空接收緩存區(qū)
m_iComOpen = 1;
}
catch (...)
{
m_iComOpen = 0;
AfxMessageBox("電源串口打開出錯,請正設(shè)置串口號,并確保串口未被占用!");
}
m_Com.get_Input(); 就會異常
您好,暫時沒有更新的驅(qū)動版本,我們已將此問題反饋給windows同事做下排查,有更新的版本同步通知您下。
有編譯好的EXE嗎?壓縮一下,發(fā)到論壇我們再測試下。