在 Python 中,使用 serial 模块可以从串口读取数据。为了正确解析数据,需要设置读取数据的编码方式。本文将介绍如何从串口按行读取数据并设置编码。

代码示例

import serial

ser = serial.Serial('COM1', 9600, timeout=1)  # 打开串口
ser.set_encoding('gbk')  # 设置读取编码为 gbk

while True:
    line = ser.readline().decode('gbk').strip()  # 读取一行数据并解码为字符串
    if line:
        print(line)

解释

  1. 打开串口: serial.Serial() 函数用于打开串口,参数分别为串口名称、波特率和超时时间。
  2. 设置编码: ser.set_encoding() 函数用于设置读取数据的编码方式,这里设置为 gbk 编码。
  3. 读取数据: ser.readline() 函数读取一行数据,返回一个字节字符串。
  4. 解码: decode('gbk') 函数将字节字符串解码为 Unicode 字符串。
  5. 去除空格: strip() 函数去掉字符串首尾的空格。
  6. 打印输出: 将读取到的字符串打印出来。

注意: 编码方式需要根据实际情况进行设置。如果串口发送的数据使用 UTF-8 编码,则需要将 ser.set_encoding('gbk') 修改为 ser.set_encoding('utf-8')

总结: 本文介绍了如何使用 Python 从串口读取数据,并设置读取数据的编码方式,以确保正确解析数据。通过以上步骤,您可以轻松地从串口读取数据并进行处理。

Python 串口读取数据按行解析及编码设置

原文地址: http://www.cveoy.top/t/topic/nWG5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录