[N32G43x] [问题已解决]N32G435使用USB模拟CH340失败,请教大神

[复制链接]
1921|15
 楼主| dyc1229 发表于 2023-8-5 14:50 | 显示全部楼层 |阅读模式
本帖最后由 dyc1229 于 2023-8-8 10:35 编辑

由于win7下驱动安装不方便,所以想让N32的CDC直接模拟CH340。

参考了网上STM32模拟CH340的程序,结果并不理想。

现在插上USB,系统可以识别,也可以正常打开虚拟串口,但是不能发送数据。

以下是使用USBlyzer获取的数据,枚举应该是没问题了,但是截取的数据好像找不到端口

程序与stm32的已经比对过,没找到具体的原因。

有没有大神能帮忙分析一下,万分感谢


另外也附上了STM32测试成功的程序,有需要的可以参考

23/8/8

问题已经找到了,原因还是出在端口配上,眼瞎了,tx与rx的配置搞反了,所以一直无法正常通讯。

非常感谢代理的技术支持。

//    SetEPRxStatus(ENDP2, EP_TX_NAK);
//    SetEPTxStatus(ENDP2, EP_RX_VALID);
    SetEPTxStatus(ENDP2, EP_TX_NAK);
    SetEPRxStatus(ENDP2, EP_RX_VALID);

非常低级的失误,来回看了多少遍就是没发现,气死了


这样将usb_prop.c中的端口配置搞好就可以正常通讯了,至此模拟ch340的功能已经完成了

移植好的程序也上传了“Virtual_COM_Port_CH340”,有需要的朋友可以参考一下

截图1.png
截图2.png

STM32 CH340-USB-COM.rar

789.07 KB, 下载次数: 22

Virtual_COM_Port_CH340.rar

2.5 MB, 下载次数: 16

chenjun89 发表于 2023-8-5 17:17 来自手机 | 显示全部楼层
USB虚拟串口?安装官方的驱动没有?
 楼主| dyc1229 发表于 2023-8-5 17:32 | 显示全部楼层
我是模拟CH340,一种USB转串口的芯片
 楼主| dyc1229 发表于 2023-8-6 11:09 | 显示全部楼层
硬件和系统问题已经排除了,现在可以确定问题出在Virtual_Com_Port_NoData_Setup中,打开串口以后不断调用并传入Virtual_Com_Port_NoData_Setup(1),而在STM32中并未传入过1。

再往上找就到了usb_core.c了,对我来说已经非常底层,所以还在排查这个RequestNo=1是怎么回事
weifeng90 发表于 2023-8-6 15:54 来自手机 | 显示全部楼层
就是虚拟串口吧?怎么叫模拟CH340了。
 楼主| dyc1229 发表于 2023-8-7 08:47 | 显示全部楼层
VID,PID,驱动都用CH340的,所以叫模拟CH340。在win7下,安装驱动会比较简单
guijial511 发表于 2023-8-7 09:57 来自手机 | 显示全部楼层
STM32的代码不能拿来直接用吧
lizye 发表于 2023-8-7 19:12 | 显示全部楼层
USB虚拟串口?
jiaxw 发表于 2023-8-7 19:17 | 显示全部楼层
模拟CH340,一种USB转串口的芯片
spark周 发表于 2023-8-7 19:20 | 显示全部楼层
问题出在Virtual_Com_Port_NoData_Setup中
liliang9554 发表于 2023-8-7 19:22 | 显示全部楼层
打开串口以后不断调用并传入Virtual_Com_Port_NoData_Setup(1),而在STM32中并未传入过1。
午夜粪车 发表于 2023-8-7 19:24 | 显示全部楼层
再往上找就到了usb_core.c了
zhaoxqi 发表于 2023-8-7 19:26 | 显示全部楼层
排查RequestNo=1
gongche 发表于 2023-8-7 19:28 | 显示全部楼层
就是虚拟串口吧?怎么叫模拟CH340了。
huwr 发表于 2023-8-7 19:29 | 显示全部楼层
VID,PID,驱动都用CH340的,所以叫模拟CH340。在win7下,安装驱动会比较简单
huanghuac 发表于 2023-8-7 19:32 | 显示全部楼层
STM32的代码不能拿来直接用吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

7

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部