pySerial
是一个用于在 Python 中与串行端口进行通信的库。它可以用于读取和写入二进制数据。以下是如何使用 pySerial
读取二进制数据的详细步骤和示例。
首先,确保你已经安装了 pySerial
。你可以使用 pip
安装它:
pip install pyserial
以下是一个基本示例,展示了如何使用 pySerial
读取二进制数据。
import serial
# 配置串口参数
port = 'COM3' # 替换为你的串口端口
baudrate = 9600 # 替换为你的波特率
# 打开串口
ser = serial.Serial(port, baudrate, timeout=1)
# 读取二进制数据
try:
while True:
# 读取固定长度的数据,例如 10 个字节
data = ser.read(10)
if data:
# 打印读取到的二进制数据
print("Received binary data:", data)
# 如果需要,可以将二进制数据转换为十六进制字符串
hex_data = data.hex()
print("Hex data:", hex_data)
# 或者将二进制数据转换为整数列表
int_data = list(data)
print("Integer data:", int_data)
except KeyboardInterrupt:
print("Exiting...")
# 关闭串口
ser.close()
serial
模块:
import serialport
: 串口端口号,例如 COM3
(Windows)或 /dev/ttyUSB0
(Linux)。baudrate
: 波特率,例如 9600
。timeout
: 读取超时时间(秒)。设置为 1
表示读取操作会在 1 秒后超时。port = 'COM3' baudrate = 9600 ser = serial.Serial(port, baudrate, timeout=1)
ser.read(size)
方法读取固定长度的二进制数据。size
参数指定要读取的字节数。ser.read(10)
表示读取 10 个字节的数据。data = ser.read(10)
data
是一个字节对象,可以直接打印或进行其他处理。data.hex()
将二进制数据转换为十六进制字符串。list(data)
将二进制数据转换为整数列表。if data: print("Received binary data:", data) hex_data = data.hex() print("Hex data:", hex_data) int_data = list(data) print("Integer data:", int_data)
ser.close()
关闭串口。ser.close()
COMx
,Linux 上通常是 /dev/ttyUSBx
或 /dev/ttySx
。领取专属 10元无门槛券
手把手带您无忧上云