本帖最后由 XIVN1987 于 2023-4-7 14:47 编辑
在用CH343G做一个串口烧录器,需要用CH343G的RTS、DTR引脚分别控制目标芯片的Reset和Boot引脚,,
使用pyserial控制CH343G的RTS、DTR引脚,,现象如下:
(1)如下代码控制CH343G的DTR引脚,,DTR引脚正常翻转from serial import Serial
ser = Serial(port='com10', baudrate=4800)
while True:
ser.dtr = True
time.sleep(1)
ser.dtr = False
time.sleep(1)
(2)如下代码控制CH343G的RTS引脚,,RTS引脚无反应
while True:
ser.rts = True
time.sleep(1)
ser.rts = False
time.sleep(1)
(3)如下代码控制CH343G的RTS引脚,,RTS引脚正常翻转
while True:
ser.rts = True
ser.dtr = ser.dtr
time.sleep(1)
ser.rts = False
ser.dtr = ser.dtr
time.sleep(1)
也就是说,,必须写一下CH343G的DTR引脚状态,,RTS引脚状态才能被写入
(4)使用(2)中的代码控制CH340N的RTS引脚,,RTS引脚正常翻转,,不需要写DTR状态即可控制RTS引脚
请问,,为什么CH340的RTS可以正常控制,,CH343的RTS引脚却不能??
这个是CH343的bug,,还是故意改成这种行为的??
|