Python3练习:pySerial模块

串口是计算机上一种非常通用的设备通信协议。
pyserial模块封装了python对串口的访问,为多平台的使用提供了统一的接口。

一、检查串口

(一)示例代码

import serial
import serial.tools.list_ports

plist = list(serial.tools.list_ports.comports())

if len(plist) <= 0:
    print ("找不到串口!")
else:
    plist_0 = list(plist[0])
    serialName = plist_0[0]
    print("检查使用的串口 >", serialName)

(二)演示结果

检查使用的串口 > COM7

二、打开串口

(一)示例代码

ser = serial.Serial(serialName, 9600, timeout=1)
print("串口配置的参数 >", ser)

(二)演示结果

串口配置的参数 > Serial<id=0xeaaa285c50, open=True>(port='COM7', baudrate=9600, bytesize=8, parity='N', stopbits=1, timeout=1, xonxoff=False, rtscts=False, dsrdtr=False)

三、设置串口

(一)示例代码

ser = serial.Serial()
ser.port = 'COM7'
ser.baudrate = 115200
ser.parity = 'O'
ser.open()
print("串口配置的参数 >", ser)

(二)演示结果

串口配置的参数 > Serial<id=0x299601ae80, open=True>(port='COM7', baudrate=115200, bytesize=8, parity='O', stopbits=1, timeout=None, xonxoff=False, rtscts=False, dsrdtr=False)

四、发送数据

(一)示例代码

result = ser.write(chr(0x06).encode("utf-8"))
print("写总字节数:", result)
result = ser.write("pySerial".encode("gbk"))
print("写总字节数:", result)
result = ser.write("pySerial1-".encode("gbk"))
print("写总字节数:", result)
result = ser.write("pySerial2-".encode("gbk"))
print("写总字节数:", result)
result = ser.write("pySerial3-".encode("gbk"))
print("写总字节数:", result)

(二)演示结果

写总字节数: 1
写总字节数: 8
写总字节数: 10
写总字节数: 10
写总字节数: 10

五、读取数据

(一)读一个字节

(1)示例代码

# 读一个字节
strRecv = ser.read().hex()
print("读取的数据 >", strRecv)

(2)演示结果

读取的数据 > 06

(二)读一行

(1)示例代码

# 读一行
strRecv = ser.readline().decode("gbk")
print("读取的数据 >", strRecv)

(2)演示结果

读取的数据 > pySerial

(三)读多行

(1)示例代码

# 读取多行,返回列表,必须匹配超时(timeout)使用
strRecv = ser.readlines()
print("读取的数据 >", strRecv)

(2)演示结果

读取的数据 > [b'pySerial1-pySerial2-pySerial3-']

六、关闭串口

(一)示例代码

ser.close()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容