【STM32 + Python】串口数据实时转发:解决 CH340 被复位、UDP 传输问题
·
解决 Python pyserial 打开串口导致 STM32 复位的问题
用串口助手连接 STM32 时,数据接收正常。但用 Python 的 pyserial 库打开同一个串口时:
-
STM32 自动重启
-
之前发送的数据全部丢失
根本原因:CH340 芯片的 DTR 信号连接到了 STM32 的复位引脚(NRST)。
Python 的 pyserial 库在打开串口时,默认会将 DTR 和 RTS 信号拉低。
在打开串口后,立即将 DTR 和 RTS 设置为 False(高电平,不复位)。
import serial
ser = serial.Serial('COM4', 115200, timeout=1)
ser.dtr = False # 关键!DTR = False 表示高电平
ser.rts = False # 关键!RTS = False 表示高电平

更多推荐



所有评论(0)