急关于串口通信的问题!请各位大虾帮帮我把!
假设当我用向串口发送数据如下时:ff ff f0 00 00 00 00 e0 ae
编写的串口通信接受程序如下:
MSComm1->RThreshold=9; //送9个字符
MSComm1->InputLen=0; //缓冲区全收
MSComm1->InputMode=0; //字符串接受
MSComm1->Handshaking=1; //握手
AnsiString str;
OleVariant s;
if (MSComm1->CommEvent) //收到9个字符
{
if(MSComm1->InBufferCount)
{
s=MSComm1->Input;
str=s.AsType(varString);
}
}
这时,MSComm1->InBufferCount=3,因为 00 被识别为了字符串的结尾符,这样就照成了接收不正确。我考虑可以设 MSComm1->InputMode=1,就是二进制接受应该可以避免这个问题,但不知如何编写这段程序,急请各位大虾指教。