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库的调用方式与缓冲区的处理,可以参照手册,后面会继续更新博文。
浙公网安备 33010602011771号