Linux python 如何触发DTR/RTS序列
触发代码如下:
import time
import sys
import serial
if __name__ == '__main__':
try:
ser = serial.Serial(
port='/dev/ttyUSB0',
baudrate=115200,
bytesize=serial.EIGHTBITS,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
timeout=1
)
if ser.is_open:
print("STM32 串口打开成功...")
print("触发 DTR/RTS 序列...")
ser.setDTR(True) # 首次 DTR 高电平
ser.setRTS(True) # 首次 RTS 高电平
time.sleep(0.1) # 保持100ms
ser.setDTR(False) # DTR 低电平
ser.setRTS(False) # RTS 低电平
time.sleep(0.1)
ser.setDTR(True) # 再次 DTR 高电平
ser.setRTS(True) # 再次 RTS 高电平
time.sleep(0.1)
ser.setDTR(False) # 最终 DTR 低电平
ser.setRTS(False) # 最终 RTS 低电平
print("DTR/RTS 序列完成")
else:
print("STM32 串口打开失败...")
while True:
time.sleep(0.05)
except serial.SerialException as e:
print(f"串口错误: {e}")
except KeyboardInterrupt:
print("程序被用户中断")