⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vc++下用mscomm控件实现串口通讯.txt

📁 VC++下用MSComm控件实现串口通讯
💻 TXT
字号:
DWord style=WS_VISIBLE; 
m_MSComm.Create(NULL,style,CRect(0,0,0,0),this,IDC_MSCOMM1); 
// 串口控件的初始化 
DWORD style=WS_VISIBLE; 
m_MSComm.Create(NULL,style,CRect(0,0,0,0),this,IDC_MSCOMM1); 
if(m_MSComm.GetPortOpen()) //假如串口是打开的,则行关闭串口 
{ 
 m_MSComm.SetPortOpen(FALSE); 
} 
m_MSComm.SetCommPort(1); //选择COM1 
m_MSComm.SetInBufferSize(1024); //接收缓冲区 
m_MSComm.SetOutBufferSize(1024);//发送缓冲区 
m_MSComm.SetInputLen(0);//设置当前接收区数据长度为0,表示全部读取 
m_MSComm.SetInputMode(1);//以二进制方式读写数据 
m_MSComm.SetRThreshold(1);//接收缓冲区有1个及1个以上字符时,将引发接收数据的OnComm事件 
m_MSComm.SetSettings("9600,n,8,1");//波特率9600无检验位,8个数据位,1个停止位 
if(!m_MSComm.GetPortOpen())//假如串口没有打开则打开 
 m_MSComm.SetPortOpen(TRUE);//打开串口 
else 
 m_MSComm.SetOutBufferCount(0); 
// 控件事件的响应声明 
// *.h 
//{{AFX_MSG(CGolfView) 
afx_msg BOOL OnComm(); 
DECLARE_EVENTSINK_MAP() 
//}}AFX_MSG 
// *.cpp 
BEGIN_EVENTSINK_MAP(CGolfView, CView) 
//{{AFX_EVENTSINK_MAP(CAboutDlg) 
ON_EVENT(CGolfView, IDC_MSCOMM1, 1 /* OnComm */, OnComm, VTS_NONE) 
//}}AFX_EVENTSINK_MAP 
END_EVENTSINK_MAP() 
// 控件事件的响应 
BOOL CGolfView::OnComm() 
{ 
 VARIANT variant_inp; 
 COleSafeArray safearray_inp; 
 LONG len,k; 
 BYTE rxdata[2048]; //设置BYTE数组 An 8-bit integerthat is not signed. 
 CString strtemp; 
 switch(m_MSComm.GetCommEvent()) 
 { 
  case 1: // comEvSend发送数据 
   break; 
  case 2: // comEvReceive读取数据 
   // MessageBox(_T("读取数据事件"), _T("TRACE"), MB_OK); 
   variant_inp=m_MSComm.GetInput(); //读缓冲区 
   safearray_inp=variant_inp; //VARIANT型变量转换为ColeSafeArray型变量 
   len=safearray_inp.GetOneDimSize(); //得到有效数据长度 
   // 接受数据 
   for(k=0; k    { 
    safearray_inp.GetElement(&k,rxdata+k); //转换为BYTE型数组 
    BYTE BT=*(char*)(rxdata+k); //字符型 
    strtemp.Format("%c",bt); //将字符送入临时变量strtemp存放 
    recd+=strtemp; 
   } 
   // UpdateData(TRUE); 
  
   break; 

  default: // 传输事件出错 
   m_MSComm.SetOutBufferCount(0); 
   break; 
  } 
 UpdateData(FALSE); //更新图象内容 
 return TRUE; 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -