import serial
import time
# 打开串口
ser = serial.Serial(
port='/dev/ttyUSB0', # 替换为你的串口设备路径,例如:Windows下可能是'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, World!\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() 创建一个串口对象,并设置串口的参数(如端口、波特率等)。while 循环中,每隔1秒发送一次数据,并检查是否有接收到的数据。如果有,则读取并打印出来。KeyboardInterrupt 异常以确保在用户中断程序时能够正常关闭串口。如果你需要更多详细的解释或有其他问题,请随时告诉我!
上一篇:python怎么运行py文件
下一篇:python定义函数的关键字
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站