|  | 
 
| 外接设备发送到串口的数据是16进制的,我以二进制的方式读取: m_ComPort.SetInputMode(1);
 读取后数据该怎么处理才能转换为10进制的数呢?
 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型数组
 
 
 我这样写的时候
 safearray_inp=variant_inp; //VARIANT型变量转换为ColeSafeArray型变
 程序运行的时候回在这句出现异常,我看了很多资料都是这么写的,不知道为什么,请大家帮忙看看!!
 
 | 
 |