2,640
社区成员
发帖
与我相关
我的任务
分享
variant_inp = m_ctrlComm.GetInput(); //读缓冲区
//VARIANT型变量转换为ColeSafeArray型变量
safearray_inp = variant_inp;
len = safearray_inp.GetOneDimSize(); //得到有效数据长度
for(k=0; k<len; k++)
safearray_inp.GetElement(&k,rxdata+k);//转换为BYTE型数组
safearray_inp.GetElement(&k,rxdata+k);
//这句是将收到的数据放入rxdata中
//rxdata的17,18是需要的数据吧?我没数清楚
int i;
BYTE a[4];
a[0] = rxdata[16];
a[1] = rxdata[17];
a[2] = 0x00;
a[3] = 0x00;
memcpy(&i, a, 4);
//取出 "EB 03",如果你的报文格式是定长的,那么就取数组的第17,18个元素
//下面这段代码可以实现功能,你再优化一下
int i;
BYTE a[4];
a[0] = k[16];
a[1] = k[17];
a[2] = 0x00;
a[3] = 0x00;
memcpy(&i, a, 4);