import serial
import time
# 创建串口对象,指定端口、波特率等参数
ser = serial.Serial(
port='COM3', # 端口号,请根据实际情况修改
baudrate=9600, # 波特率
parity=serial.PARITY_NONE, # 校验位
stopbits=serial.STOPBITS_ONE, # 停止位
bytesize=serial.EIGHTBITS, # 数据位
timeout=1 # 超时设置
)
if ser.isOpen():
print("串口已打开")
else:
print("无法打开串口")
exit()
try:
while True:
# 发送数据
send_data = "Hello from Python\r\n"
ser.write(send_data.encode('utf-8'))
print(f"发送: {send_data}")
# 接收数据
if ser.in_waiting > 0:
receive_data = ser.read(ser.in_waiting).decode('utf-8')
print(f"接收: {receive_data}")
time.sleep(1) # 每隔1秒发送一次数据
except KeyboardInterrupt:
print("程序被用户中断")
finally:
ser.close()
print("串口已关闭")
serial 是用于串口通信的模块,time 用于延时。serial.Serial() 创建一个串口对象,并设置端口、波特率等参数。注意 port 参数需要根据实际使用的串口进行修改。ser.isOpen() 检查串口是否成功打开。ser.write() 发送数据,使用 ser.read() 接收数据。ser.in_waiting 表示缓冲区中等待读取的数据量。try-except-finally 结构来捕获用户中断(如 Ctrl+C),并在最后确保串口关闭。希望这段代码能帮助你理解 Python 中如何进行串口通信。
上一篇:python线上编辑器
下一篇:python flask框架
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站