MFC串口接收数据 VS2010
问题如下:我在OnCom里面加了段检测包头包尾的代码,然后弹一个窗。但是结果并没有弹窗。代码如下:voidCMainBoardDetectDlg::OnComMainBo...
问题如下:我在OnCom里面加了段检测包头包尾的代码,然后弹一个窗。但是结果并没有弹窗。代码如下:void CMainBoardDetectDlg::OnComMainBoard(){ // TODO: 在此处添加消息处理程序代码 static unsigned int cnt=0; VARIANT variant_inp; COleSafeArray safearray_inp; long len,k; unsigned int data[1024]={0}; byte rxdata[1024]; //设置 BYTE 数组 CString strtemp; if(m_mscomm.get_CommEvent()==2) //值为 2 表示接收缓冲区内有字符 { cnt++; variant_inp=m_mscomm.get_Input(); //读缓冲区消息 safearray_inp=variant_inp; //变量转换 len=safearray_inp.GetOneDimSize(); //得到有效的数据长度 for(k=0;k<len;k++) { safearray_inp.GetElement(&k,rxdata+k); if((rxdata[k] == 0x6D |rxdata[k+9] == 0x6B | rxdata[k] == 0x5B |rxdata[k] == 0x5D) && rxdata[k+9] == 0x3C)////////这段代码就是我要的弹窗 { AfxMessageBox(_T("数据正确")); } } for(k=0;k<len;k++) //将数组转换为 CString 型变量 { BYTE bt = *(char*)(rxdata); strtemp.Format(_T("%x"),*(rxdata+k)); m_DetectResultDisplay += strtemp; } } UpdateData(FALSE); //更新编辑框内容}然而我的接收窗口显示如下。我主要是需要提取rxdata里面的数据出来进行处理,求不吝赐教,感激不尽
展开
1个回答
2016-08-03
展开全部
or 是不是应当使用 ||
而不是|
而不是|
追问
确实,忽视了这个问题,能否告诉我如何从rxdata里面将数据提取到一个数组里面呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询