VARIANT variant_inp;
CString m_strRXData;
    COleSafeArray safearray_inp;
    long len,k;
BYTE rxdata[32]; //设置BYTE数组 An 8-bit integerthat is not signed.
    CString strtemp;
CString m_ver;
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型数组
//
if(len==8||len==9)
{///
}
为什么编译后?
给串口发9个字节, 在debug 下会一次收到9个字节。
而release下会分两次接收,第一次1个字节,第二次8个字节。
但在第二次接收下,rxdata[0]是第一次接收字节,第二次接收的始于rxdat[1];
能否解释一下这个原因?
或者如何才能一次都是收9个字节。