求助各路大神关于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;
}
}
}