打印
[USB芯片]

使用pyserial控制CH343G的RTS引脚无反应

[复制链接]
1175|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 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,,还是故意改成这种行为的??

使用特权

评论回复
沙发
chenjun89| | 2023-4-13 07:50 | 只看该作者
看下数据手册,两个芯片的控制模式是不是有区别

使用特权

评论回复
板凳
WCH@TECH39| | 2023-4-24 14:58 | 只看该作者
您好,CH343是支持使用CDC-ACM串口协议和厂商VCP协议的,但CDC串口有部分功能和标准串口不同,如上RTS不能正常控制也是因为此原因。您这边安装使用厂商VCP驱动即可,链接:https://www.wch.cn/downloads/CH343SER_EXE.html

使用特权

评论回复
地板
XIVN1987|  楼主 | 2023-4-25 09:27 | 只看该作者
WCH@TECH39 发表于 2023-4-24 14:58
您好,CH343是支持使用CDC-ACM串口协议和厂商VCP协议的,但CDC串口有部分功能和标准串口不同,如上RTS不能 ...

原来是这样啊。。

为什么不做成和CDC标准完全兼容的??有点儿坑啊。。

而且你们官网选型表下面以及手册上都没标注这个问题,,这么重要的问题应该重点标注出来才对啊。。

使用特权

评论回复
5
WCH@TECH39| | 2023-4-25 19:23 | 只看该作者
XIVN1987 发表于 2023-4-25 09:27
原来是这样啊。。

为什么不做成和CDC标准完全兼容的??有点儿坑啊。。

您好,该问题是CDC驱动的问题,非芯片端实现不完整的问题。关于CDC串口驱动的使用限制,可以查看这个方案说明:https://www.wch.cn/application/357.html

使用特权

评论回复
6
XIVN1987|  楼主 | 2023-4-25 20:55 | 只看该作者
WCH@TECH39 发表于 2023-4-25 19:23
您好,该问题是CDC驱动的问题,非芯片端实现不完整的问题。关于CDC串口驱动的使用限制,可以查看这个方案 ...



感谢说明,,


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

333

帖子

18

粉丝