import serial
import time
# 初始化串口对象
ser = serial.Serial(
port='COM3', # 端口号,根据实际情况修改
baudrate=9600, # 波特率
bytesize=8, # 数据位
parity='N', # 校验位
stopbits=1, # 停止位
timeout=1 # 超时设置
)
def read_data():
"""从串口读取数据"""
if ser.is_open:
try:
# 读取一行数据
data = ser.readline()
if data:
return data.decode('utf-8').strip() # 解码并去除首尾空格
else:
return "No data"
except Exception as e:
print(f"读取数据失败: {e}")
return "Error"
def send_data(message):
"""通过串口发送数据"""
if ser.is_open:
try:
# 发送数据,编码为字节流
ser.write(message.encode('utf-8'))
print(f"已发送: {message}")
except Exception as e:
print(f"发送数据失败: {e}")
if __name__ == "__main__":
try:
while True:
# 采集数据
received_data = read_data()
print(f"接收到的数据: {received_data}")
# 发送数据(例如每隔5秒发送一次)
send_data("Hello from Python")
time.sleep(5)
except KeyboardInterrupt:
print("程序已终止")
finally:
# 关闭串口
if ser.is_open:
ser.close()
print("串口已关闭")
serial.Serial
创建一个串口对象,并配置端口号、波特率等参数。read_data
函数用于从串口读取一行数据,并将其解码为字符串格式。send_data
函数用于将字符串编码为字节流并通过串口发送。__main__
中,程序会不断循环读取数据并打印出来,同时每隔5秒发送一次预定义的消息。上一篇:python ravel
下一篇:python拼接字符
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站