python使用串口通信(python发送串口数据)

网友投稿 1944 2022-08-30


python使用串口通信(python发送串口数据)

python发送16进制数据进行串口通信

import binascii,time# 配置串口基本参数并建立通信ser = serial.Serial("COM1", 9600, 8, "E", timeout=50,stopbits=1)# 数据帧a='68 AA AA AA AA AA AA 68 11 04 34 37 33 37 B6 16'# 简单的发送16进制字符# ser.write(b'\xFE\xFE\xFE')# 但是上面的方法不够优雅,需要自己添加\x,非常麻烦,于是使用下面这个方法d=bytes.fromhex(a)# 串口发送数据result=ser.write(d)# 停止、等待数据,这一步非常关键。timeout压根没用time.sleep(1)count=ser.inWaiting()# 数据的接收if count>0: data=ser.read(count) if data!=b'': # 将接受的16进制数据格式如b'h\x12\x90xV5\x12h\x91\n4737E\xc3\xab\x89hE\xe0\x16' # 转换成b'6812907856351268910a3437333745c3ab896845e016' # 通过[]去除前后的b'',得到我们真正想要的数据 print("receive",str(binascii.b2a_hex(data))[2:-1])# 关闭串口ser.close()


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java如何实现图片转化为数据流
下一篇:对ThreadLocal内存泄漏及弱引用的理解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~