以下是打開串口的代碼,除錯就顯示operation not valid while the port is opened,該如何解決?請大神指點
void CCommTestDlg::OnBnClickedButtonOpen()
{
// TODO: 在此添加控制元件通知處理程式代碼
if(m_mscomm.get_PortOpen())//如果串口是打開的,則行關閉串口
{
m_mscomm.put_PortOpen(FALSE);
}
m_mscomm.put_PortOpen(3);//選擇COM3
m_mscomm.put_InBufferSize(1024);//接識訓沖區
m_mscomm.put_OutBufferSize(1024);//發送緩沖區
m_mscomm.put_InputLen(0);//設定當前接收資料長度為0,,表示全部讀取
m_mscomm.put_InputMode(1);//以二進制方式讀寫資料
m_mscomm.put_RThreshold(1);//接識訓沖區有1 個及1個以上字符,將引發接收資料的OnComm事件
m_mscomm.put_Settings(_T("9600,n,8,1"));//波特率9600無檢驗位,8個資料位一個停止位
if(!m_mscomm.get_PortOpen())
{
m_mscomm.put_PortOpen(TRUE);//打開串口
AfxMessageBox(_T("串口3打開成功"));
}
else
{
m_mscomm.put_OutBufferCount(0);
AfxMessageBox(_T("串口3打開失敗"));
}
}
uj5u.com熱心網友回復:
自己Debug模式下單步除錯看看哪個呼叫失敗了?uj5u.com熱心網友回復:
m_mscomm.put_Settings 提前到 m_mscomm.put_PortOpen 之前試試看轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/145198.html
標籤:進程/線程/DLL
上一篇:求程式
