在接收到数据格式为: 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 (关键词-聊天软件)
- ¥15 求大家看看这个编程的编法没有思路啊
- ¥20 WSL打开图形化程序子窗口无法点击
- ¥15 Jupyter Notebook 数学公式不渲染
- ¥20 ERR_CACHE_MISS 确认重新提交表单
- ¥20 关于vba使用HTMLfile执行js函数问题
- ¥60 悬赏求解,通过实时现场摄像头的视频图像识别其他对家打出的麻将牌,识别麻将牌,识别牌墙位置,通过识别对家打出了什么牌
- ¥15 关于#GPU jetson#的pcie驱动开发问题,如何解决?
- ¥15 stm32f103zet6 串口5无法收发数据
- ¥15 关于C语言使用线程队列实现多线程并发