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(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(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()

你可能感兴趣的:(Python3练习:pySerial模块)