15,471
社区成员
发帖
与我相关
我的任务
分享
CCOOKDlg *DlgPtr=(CCOOKDlg*)pParam;
CMSComm COM1;
COM1.Create(NULL,0,CRect(0,0,0,0),DlgPtr,IDC_MSCOMM1);
COM1.SetCommPort(1); //选择COM1
COM1.SetInputMode(1); //输入方式为二进制方式
COM1.SetInBufferSize(1024); //设置输入缓冲区大小
COM1.SetOutBufferSize(512); //设置输出缓冲区大小,波特率9600无校验,8个数据位,1个停止位
COM1.SetSettings("9600,n,8,1");
if(!COM1.GetPortOpen())
COM1.SetPortOpen(TRUE);//打开串口1
COM1.SetRThreshold(1); //参数1表示每当串口接收缓冲区中有多于或等于1个字符时将引发一个接收数据的OnComm事件
COM1.SetInputLen(0); //设置当前接收区数据长度为0
COM1.GetInput();
然后再使用while(1)等待数据到来
while(1)
{
//Sleep(5000);
//AfxMessageBox("str22");
if(COM1.GetCommEvent()==2)
{……