一个mscomm控件接收数据问题
为什么我接收0x41之类的都能接收,但是接收0xc1,0x81这些就不行,我在接部分 转为byte时候已经-128了,但是还是不行 怎么解决。
{VARIANT variant_inp;
CString strtemp;
CString strtemp1;
if(m_ctrlComm_Cpu1.GetCommEvent()==2) //事件值为2表示接收缓冲区内有字符
{
variant_inp=m_ctrlComm_Cpu1.GetInput(); //读缓冲区
int Len = SysStringLen(variant_inp.bstrVal);
byte * b=new byte[Len];
for(int k=0;k <Len;k++)
{
b[k]=( byte)variant_inp.bstrVal[k];
b[k]-=128;
strtemp.Format("%c",b[k]);
m_strRXData+=strtemp;
strtemp1+=strtemp;
}
}
UpdateData(FALSE); //更新编辑框内容
}