首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

,大家相助

2012-03-25 
求救,大家相助快要崩溃了 为什么老是是握手失败呢我把接收代码的0x55改为0则接收成功我的协议是,主机发0x5

求救,大家相助
快要崩溃了 为什么老是是握手失败呢 我把接收代码的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发出来没有?

热点排行