关于串口接收并解析数据

yalunwang123 yalunwang123 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
接收就是在SerialPort类的rececivedata里面接收


int a=comm.ByteToRead;
byte []buf=new byte[a];
comm.Read(buf,0,a);

现在的情况是,接收到数据是不固定的长度,协议是起始是AA AA 结束是DE D0
接收到的数据有可能是AA AA 08 56 82 44 DE DO
也可能是AA AA 08 56 82 44 AA AA 55 63 1A 55 AA AA 55 99 33 77 DE D0要做的是将接到的数据处理解析。
1、串口接收的数据不是一次性接完的。比如第一次buf收到了AA AA 08 56 第二次buf才收到82 44 DE DO
怎么把他们装到一个新数组里面。
我用的ArragList LIST=new ArragList();为什么不行啊,因为我判断的是if(LIST[2]==0x69)调试提示object 和int不能。
2、解析时我想处理的AA AA 08 56 82 44 和AA AA 55 63 1A 55和 AA AA 66 99 33 77 DE D0分开处理。这个怎么做啊。
例如 if(buf[2]==0x08) {执行相应的事情}
if(buf[2]==0x55) {执行相应的事情}
求大神给个指导
...全文
评论 11
收藏 已收藏
分享
返回顶部
yalunwang123
C# 111,129 成员 642,539 内容