急关于串口通信的问题!请各位大虾帮帮我把!

alexchen1980 alexchen1980 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
假设当我用向串口发送数据如下时: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,就是二进制接受应该可以避免这个问题,但不知如何编写这段程序,急请各位大虾指教。
...全文
评论 3
收藏 已收藏
分享
返回顶部