我现在要实现串口的数据交换,先发送一个请求
请求如 0x01 0x83 0x00 0x00 0x0D
代码示范是这样的
VARIANT VarOut;
VariantInit(&VarOut);
VarOut.vt = VT_BSTR;
unsigned char data[] = {0x01 0x83 0x00 0x00 0x0D};
VarOut.bstrVal = _com_util::ConvertStringToBSTR((char*)data);
if(VarOut.bstrVal)
{
m_CtrlComm.SetOutput(VarOut);
}
串口接收发出来的数据(16进制),只收到01 后边的就没有了
VarOut.bstrVal = _com_util::ConvertStringToBSTR((char*)data);这一句cast unsigned char类型肯定是不对的
请求如 0x01 0x83 0x00 0x00 0x0D
代码示范是这样的
VARIANT VarOut;
VariantInit(&VarOut);
VarOut.vt = VT_BSTR;
unsigned char data[] = {0x01 0x83 0x00 0x00 0x0D};
VarOut.bstrVal = _com_util::ConvertStringToBSTR((char*)data);
if(VarOut.bstrVal)
{
m_CtrlComm.SetOutput(VarOut);
}
串口接收发出来的数据(16进制),只收到01 后边的就没有了
VarOut.bstrVal = _com_util::ConvertStringToBSTR((char*)data);这一句cast unsigned char类型肯定是不对的
};
CByteArray array;
array.RemoveAll();
array.SetSize(5); for(i=0;i<5;i++)
array.SetAt(i, TxData[i]); m_Com.SetOutput(COleVariant(array)); // 发送数据
array.RemoveAll();
array.Add(0x01);
......m_CtrlComm(COleVariant(array));