Python——串口通信0A0D出现换行问题

更新时间:2023-05-23 05:31:40 阅读: 评论:0

Python——串⼝通信0A0D出现换⾏问题上⼀篇提到,最近在⽤PC通过串⼝从蓝⽛模块读取Android端发来的数据
⼜遇到⼀个问题
先上代码
trigger warning意思while True:
return_str = adline()
if return_str:
if return_str == b'connected':
print("设备已经连接")
德语在线翻译器elif return_str == b'disconnected':
print('设备主动断开连接')
el:
var = str(binascii.b2a_hex(return_str))[2:-1].upper()
print('接收到数据:%s' % var)
遇到的问题呢
⼿机端发送过来的是 AA0002000A00BB
结果这边读取了两⾏数据
接收到数据:AA0002000A
接收到数据:00BB
这就尴尬了,我需要⽤AABB识别指令,分两⾏肯定有问题
后来想起来 0A 0D ⼀个回车⼀个换⾏,这两个遇到了肯定会换⾏
我使⽤的readline局限性就来了,
后来经过查询应该使⽤
while True:
count = lf.r.inWaiting()
if count > 0:
return_str = ad(count)
if return_str == b'connected':
print("设备已经连接")
elif return_str == b'disconnected':
print('设备主动断开连接')
el:
multiplevar = str(binascii.b2a_hex(return_str))[2:-1].upper()characteristics>男孩英语名字
print('接收到数据:%s' % var)
这样的话inWaiting()获取了发过来的字符个数,再通过read读取,肯定就没有问题了吧。
区域经济学考研结果还是分包,和刚才readline结果⼀样
查询了,原来inWaiting() 经常和 time.sleep() 在⼀起⽤
ability的形容词于是最后这样写:
keltywhile True:
time.sleep(0.1)
count = lf.r.inWaiting()
if count > 0:
return_str = ad(count)
if return_str == b'connected':
besideprint("设备已经连接")
elif return_str == b'disconnected':
print('设备主动断开连接')
el:
英孚在线学习网站var = str(binascii.b2a_hex(return_str))[2:-1].upper()
print('接收到数据:%s' % var)
终于解决了问题,⽬前还在测试中,未出现什么换⾏的问题。希望能帮助到遇到此类问题的开发者们。

本文发布于:2023-05-23 05:31:40,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/741239.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:问题   遇到   读取   数据
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图