USBD之USBHD(FS)程序移植到USBD流程

   我们CH32VF的部分芯片,支持全速的USBHD与USBD控制器,当二者都做设备的时候,大部分可以互换,但是USBD兼容ST的USB库,相比于USBHD的例程库,代码可读性较低,使用很不方便,

但是有的客户是有这方面需求的,需要进行一个替换,但是更改过程往往不如人意.

   此文章旨在指出更改的要点步骤,帮助客户快速实现.

1.首先将描述符替换掉.

2.

USBD_Reset这个函数中将设备用到所有端点对应改好.USBHD中的对应为ACK改成对应这里VALID.
 

 3.注意

#define EP_NUM                          (3)  此宏定义尤为重要需要将此更改为非零端点数
 
SetDeviceAddress此函数会设置地址与端点的地址,详看手册

 

 3.数据发送函数

 数据接收端点回调函数

 端点IN回调函数,此处只将端点上传标志清零,以便能够开始下次传输。

 5.更改类请求。 搜索CLASS_REQUEST,

 此处位HID的类请求,其他设备的类请求在此变换RequestValue即可。

至此,大致更改完毕,至于USB库的调用方式与缓冲区的处理,可以参照手册,后面会继续更新博文。

posted @ 2025-05-29 19:23  WCH_CH32  阅读(107)  评论(0)    收藏  举报