刚刚学习MFC串口通讯,调试了一个串口通讯的程序,实现PC机与单片机的串口通讯,能够正常地收发数据。部分源代码如下:
// 打开串口函数
void CcommtestDlg::OnBnClickedButtonOpen()
{
// TODO: 在此添加控件通知处理程序代码
CString str1;
m_comb2.GetLBText(m_comb2.GetCurSel(),str1);//取得所选的字符串,并放在str里面
//str1=str1+','+'n'+','+'8'+','+'1'; //这句很重要
str1=str1+_T(",n,8,1");
if(m_mscomm.get_PortOpen()) //如果串口是打开的,则行关闭串口(在程序最后再打开串口)
{
m_mscomm.put_PortOpen(false);
}
//m_mscomm.put_CommPort(1); //选择COM1
m_mscomm.put_CommPort((m_comb1.GetCurSel()+1)); //选择COM口
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,无检验位,,