dyc1229 发表于 2023-8-5 14:50

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

本帖最后由 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”,有需要的朋友可以参考一下

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]
查看完整版本: [问题已解决]N32G435使用USB模拟CH340失败,请教大神