Python 串口读取数据按行解析 - 代码示例及编码设置
Python 串口读取数据按行解析 - 代码示例及编码设置
在使用 Python 从串口读取数据时,需要设置读取编码为串口输出数据所使用的编码格式。一般来说,串口输出数据的编码格式为 ASCII 编码,因此可以使用 Python 中的 ASCII 编码解码方式来读取串口数据。
具体实现步骤如下:
- 打开串口,并设置其参数(波特率、数据位、停止位、校验位等)。
import serial
ser = serial.Serial(port='/dev/ttyUSB0', baudrate=9600, bytesize=8, parity='N', stopbits=1, timeout=None)
- 循环读取串口数据,并按行读取。
while True:
data = ser.readline()
data = data.decode('ascii').strip() # 解码为 ASCII 编码并去除首尾空格
print(data)
在上述代码中,decode('ascii') 用于将串口数据解码为 ASCII 编码,strip() 用于去除字符串首尾的空格。
注意事项
需要注意的是,有些串口设备可能会使用其他编码格式,例如 UTF-8、GBK 等。此时需要根据实际情况修改代码中的编码方式。
例如,如果串口设备使用 UTF-8 编码,则需要将 decode('ascii') 替换为 decode('utf-8')。
data = data.decode('utf-8').strip()
通过以上步骤,您可以轻松使用 Python 从串口按行读取数据并进行解析。
原文地址: https://www.cveoy.top/t/topic/nWG4 著作权归作者所有。请勿转载和采集!