读书人

大家相助

发布时间: 2012-03-25 20:55:16 作者: rapoo

求救,大家相助
快要崩溃了 为什么老是是握手失败呢 我把接收代码的0x55改为0则接收成功

我的协议是,主机发0x55加站号1;下位机发0x55 主机收到则是握手成功;
发送:
byte Command[2] = { 0x55, 1 };

OleVariant vBuff = VarArrayCreate(OPENARRAY(int, (0, 2)), varByte);
for (int i = 0; i < 2; i++)
vBuff.PutElement(Command[i], i);

MSComm1->Output = vBuff;
接收:
BYTE recvBuff[2];//返回命令数据缓冲区,大小根据实际情况而定
OleVariant ovRecvBuf;//万能变量
ovRecvBuf=MSComm1->Input;
ovRecvBuf=VarArrayCreate(OPENARRAY(int,(0,2)),varByte);
for(int i=0;i<2;i++)//从万能数组中提取接收数据到缓冲区
{
recvBuff[i]=ovRecvBuf.GetElement(i);

if(recvBuff[0]==0x55)

Send_Box->Lines->Text="握手成功!!!";

else
Send_Box->Lines->Text="握手失败!!!";

[解决办法]
用串口助手看看0x55发出来没有?

读书人网 >C++ Builder

热点推荐