Python的串口通信(pyserial)
发布时间:2020-12-16 23:57:57 所属栏目:Python 来源:网络整理
导读:? ? ? ? ?串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。串口是计算机上一种非常通用的设备通信协议。pyserial
? ? ? ? ?串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。串口是计算机上一种非常通用的设备通信协议。pyserial模块封装了python对串口的访问,为多平台的使用提供了统一的接口。 ?安装: pip3 install pyserial
?测试: 两个CH340 (TTL转串口模块)接入到PC串口上,通过Python进行数据交互: ?简单串口程序实现: serial
portx=
bps=115200
timex=5
ser=serial.Serial(portx,bps,timeout=
result=ser.write(.encode( (
ser.close()
(,e)
?获取可用串口列表: serial
port_list = len(port_list) == ( i (port_list[i])
十六进制处理: serial
portx=
bps=115200
timex= ser=serial.Serial(portx,timeout= (
result=ser.write(chr(0x06).encode())
(
(ser.read().hex())
( ser.close()
(,e)
?其他细节补充: serial
portx=
bps=115200
timex=5
ser=serial.Serial(portx,timeout= (
(ser.port)
(ser.baudrate)
result=ser.write(.encode())
(
str=ser.read(ser.in_waiting ).decode( (str==):
(
( ser.close()
(,e)
部分封装: 其中读数据的封装方法并不是很好用,使用的话又得循环接收,这样反而更加复杂了 serial
STRGLO=
BOOL=True
STRGLO = ser.read(ser.in_waiting).decode(
ret=
ser = serial.Serial(portx,timeout=
ret= threading.Thread(target=ReadData,args= (
BOOL=
result = ser.write(text.encode())
str= STRGLO=
== ser,ret=DOpenPort(,115200 (ret==True):
count=DWritePort(ser, (
?参考: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |