这样做才能进行累加校正?
我接收单片机的送来得数据,每个数据进行相加再判别是不是相等.
如接收数据为: 1234ABCDEFxx xx为校正码.
我的接受程序为(Microsoft Communications Control控件)
void CTestcomDlg::OnOnCommMscomm1()
{
// TODO: Add your control notification handler code here
VARIANT m_input1;
COleSafeArray m_input2;
long length,i;
BYTE data[1024];
BYTE byt;
CString str;
if(m_mscomm1.GetCommEvent()==2)//接收缓冲区内有字符
{
m_input1=m_mscomm1.GetInput();//Getinput();//读取缓冲区内的数据
m_input2=m_input1;//将VARIANT型变量转换为ColeSafeArray型变量
length=m_input2.GetOneDimSize();//确定数据长度
for(i=0;i<length;i++)
{m_input2.GetElement(&i,data+i);//将数据转换为BYTE型数组
byt+=data[i];}
for(i=0;i<length;i++)//将数组转换为Cstring型变量
{
char a=* (char *)(data+i);
str=a;
m_edit22+=str;
}
}
CSanswer=m_edit22;
UpdateData(FALSE);//更新编辑框内容
dafs();
}
可是当我进行数据转化后CSanswer以是CString,
问: 于是我不知这样才能做:
H1+H2+H3+H4+HA+HB+HC+HD+HE+HF=xx