请教CH32X033的usb怎么模拟为CH340

之前的产品中,使用了CH340串口转USB,安卓、Linux系统的上位机都是使用ch340的驱动编写的;现在换成了CH32X033芯片,请教如何把usb直接模拟成CH340?EXAM中的CDC例子,VID、PID修改为CH340的,并不能正常工作,设备管理器显示叹号,且设备打不开。有相关代码的话,请发至个人信息保护,已隐藏;没有相关代码的话,麻烦安排处理一下;帖子里有其它51单片机的代码,参照着移值了也不能正常工作。

您好,暂时没有模拟CH340的代码,若需要,后续可以整理一个简单的模拟CH340例程发给你。注意在模拟CDC例程基础上修改的话,注意要修改设备描述符和配置描述符中的类代码,CH340属于厂商自定义类型,设备类代码需要修改为0xFF,此外,端点的传输、批量传输端点、中断传输端点以及对应的最大包长度都需要进行修改。关于描述符的配置,可以参考一下51例程里的描述符修改一下,此外,枚举过程中的相关配置也要注意修改。你可以用USB分析仪之类的工具抓一下CH340的枚举过程以及数据传输过程对照修改一下。后续若有问题,可通过邮箱(lzs@wch.cn)沟通。



你好,由于对usb协议不是很了解,手上也没有usb分析仪,麻烦你帮忙整理一份CH32X033模拟CH340的例程。


您好,发了一份例程至你的邮箱,可参考一下。


谢谢,邮箱上回复你了,芯片能收到电脑的数据,但是不能给电脑发数据。麻烦帮忙看看。


您好,已邮件回复你,后续若有问题直接通过邮件沟通即可


麻烦也发我一份,即用,感谢!
个人信息保护,已隐藏 


您好,已发送,请查收


李工好! 使用您发送的代码, 与电脑通信可以正常收发数据, 但与安卓通信时无法正常收发.
用贵司提供的安卓测试apk测试 如下图
扫描到的设备的VID和PID相同, 但描述有差异, 如下图 , 最后的3个数字一个002(模拟程序),一个是003(CH340芯片)
是因为这个差异导致的吗
谢谢! 

image.png


您好,已邮件回复,后续若有问题直接邮件沟通即可


只有登录才能回复,可以选择微信账号登录