CserialPort类的用法
打开串口:
if (m_Comm.InitPort(this,3,115200,'n',8,1,EV_RXCHAR, 512)) //接收数据类型为
//EV_RXCHAR,缓冲区大小为512
{
m_Comm.StartMonitoring(); //启动线程
m_IsOpen = true;
}
else
{
AfxMessageBox("没有发现此串口或被占用");
}
关闭串口:
if(m_IsOpen) //如果串口是打开的,则关闭串口
{
m_Comm.ClosePort();
}
发送数据:
if(!m_IsOpen)
{
AfxMessageBox(_T("串口没有打开!"));
}
else
{
m_Comm.WriteToPort(m_strSend);//发送字符串
}
接收数据:
LRESULT CTestDlg::OnReceiveChar(UINT ch, LONG port)
{
CString str;
str.Format(_T("%c"),ch);
m_edContext.SetSel(m_edContext.GetWindowTextLength(),m_edContext.GetWindowTextLength());
m_edContext.ReplaceSel(str);
return 0L;
}