13,822
社区成员
发帖
与我相关
我的任务
分享
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
BYTE rxdata[2048]; //设置BYTE数组
CString strtemp;
if(m_ctrlComm.GetCommEvent()==2) //事件值为2表示接收缓冲区内有字符
{
variant_inp=m_ctrlComm.GetInput(); //读取缓冲区
safearray_inp=variant_inp; //VARIANT型转换为ColeSafeArray型变量
len=safearray_inp.GetOneDimSize(); //获得有效数据长度
for(k=0;k<len;++k)
{
safearray_inp.GetElement(&k,rxdata+k);//转换为BYTE型数组
}
for(k=0;k<len;++k)
{
BYTE bt=*(char*)(rxdata+k); //字符型
strtemp.Format("%02X ",bt); //将字符送入临时变量strtemp 16进制形式
strtemps+=strtemp;
if(strtemps.Find("16",0)!=-1&&strtemps.Find("FE 68",0)!=-1&&(strtemps.Find("16",0)>strtemps.Find("FE 68",0)))
{
int count=pEt->GetLineCount();
if(count==10)
{
m_strRXData="";
}
m_strRXData+=strtemps+"\r\n"; //加入接收编辑框对应的字符串
strtemps="";
}
}
}
UpdateData(FALSE);