在接收到数据格式为: AA(包头) 03(长度) 10(指令) (高八位)(低八位) XOR(校验和),的时候读取数据值,将高低八位数据值转换为10进制,包头,长度,指令为固定值,使用循环语句要如何处理?
2条回答 默认 最新
- 於黾 2021-09-09 10:58关注
a=read() #这里我不知道你是个什么包,自己写函数 while a and a[0]!=0xAA: #a有长度且不以AA开头,就一直循环,直到a空了或者变成AA开头 del a[0] #把不为AA的数据丢弃,这肯定是上一个不完整的包的结尾
#后面简单了,先判断整体数据是否符合你要的长度,不符合就继续接收剩余数据,重新处理
#然后判断长度,判断校验,都校验通过了就处理数据本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
- ¥50 如何openEuler 22.03上安装配置drbd
- ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
- ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
- ¥15 Windows11, backspace, enter, space键失灵