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

各路大神关于MSCOmm接收字节型数据流的有关问题

2013-07-01 
求助各路大神关于MSCOmm接收字节型数据流的问题小弟最近做一个BCB中用MSComm的通讯问题,pc与单片机通讯,单

求助各路大神关于MSCOmm接收字节型数据流的问题
小弟最近做一个BCB中用MSComm的通讯问题,pc与单片机通讯,单片机要发给计算机十进制的数据,但是我在接收端总是出现错误,程序如下
OleVariant RxBuff;

if(MSComm1->CommEvent==comEvReceive)
   {
   if(MSComm1->InBufferCount)
     {

       len=MSComm1->InBufferCount;
      RxBuff=VarArrayCreate(OPENARRAY(int,(0,len-1)),varByte);
      RxBuff=MSComm1->Input;
     
      for(i=0;i<=len;i++)
        *aRxBuff=RxBuff.GetElement(i);
        //ShowMessage(a[0]);
//      Memo1->Text=Memo1->Text+IntToStr(aRxBuff[0])+'\x0d'+'\x0a';

     }
   }

最后想显示出来,求助各位大神,总显示数据溢出或者数据位置不对 MSCOMM
[解决办法]


void __fastcall MSComm1Comm(TObject *Sender)
{
  String temp;
  byte buff[100];
  int ByteNum;
  OleVariant RxBuff;
  if(MSComm1->CommEvent==comEvReceive)
  {
      if(MSComm1->InBufferCount>0)
     {
        RxBuff = MSComm1->Input;
        ByteNum = RxBuff.ArrayHighBound();
        for(int i=0;i<=ByteNum;i++)
        buff[i]=RxBuff.GetElement(i);
        temp=IntToHex(buff[0],2);
        Memo1->Text+=temp;
    }
 }
}

热点排行