发新帖我要提问
12
返回列表
打印
[应用相关]

标准外设版USB驱动库详解(架构+文件+函数+使用说明+示例...

[复制链接]
楼主: nawu
手机看帖
扫描二维码
随时随地手机跟帖
21
nawu|  楼主 | 2021-9-1 15:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览

USB device library configuration
USB设备库可以使用usbd_conf.h文件进行配置(模板配置文件位于库的“库\ STM32_USB_Device_Library \ Core \”目录中)。

#define USBD_CFG_MAX_NUM                        1                        /* 配置描述最大个数 */
#define USBD_ITF_MAX_NUM                        1                        /* */
#define USB_MAX_STR_DESC_SIZ                64                        /* 字符串描述符最大长度 */

#define USBD_SELF_POWERED                                                /* 设备自供电 */

/* Class Layer Parameter 针对使用的 Class的配置 */
#define MSC_IN_EP                                        0x81
#define MSC_OUT_EP                                        0x01
#ifdef USE_USB_OTG_HS
        #ifdef USE_ULPI_PHY
                #define MSC_MAX_PACKET                512
        #else
                #define MSC_MAX_PACKET                64
        #endif
#else  /*USE_USB_OTG_FS*/
        #define MSC_MAX_PACKET                        64
#endif

#define MSC_MEDIA_PACKET                        4096


使用特权

评论回复
22
nawu|  楼主 | 2021-9-1 16:18 | 只看该作者
USB device library 使用方法
第一步: 整理需要的源代码:USB OTG源码、USB Device Core源码、USB Device Class 源码,Keil示例如下:


第二步: 在usb_bsp.c/h文件中,实现 USB 需要使用的底层硬件资源。具体函数见上文及附件源码文件的注释。
第三步: 在文件usbd_desc.c/h文件中,实现USB Device的各种描述符。具体函数见上文及附件源码文件的注释。
第四步: 根据需要修改usbd_usr.c/h文件。
第五步: 根据源代码进行各种配置

USB OTG 配置文件usb_conf.h。具体配置选项见上文及源码中的注释。
USB Device配置文件usbd_conf.h。具体配置选项见上文及源码中的注释。
第六步: 实现USB Device所使用的类的源文件。例如本文使用了USB Device 的CDC类,所以上图中出现了usbd_cdc_vcp.c/h文件。
第七步: 在自己芯片对应的stm32f4xx_it.c文件中添加USB中断处理函数。
第八步: 在main.c文件中,定义USB_OTG_CORE_HANDLE USB_OTG_dev全局变量,然后调用如下函数初始化USB Device 即可

USBD_Init(&USB_OTG_dev,
#ifdef USE_USB_OTG_HS
            USB_OTG_HS_CORE_ID,
#else            
            USB_OTG_FS_CORE_ID,
#endif            
            &USR_desc,   /* 该变量在 usbd_desc.c/h 中 定义/声明*/
            &USBD_CDC_cb, /* 该变量在自己使用的USB Device Class中定义/声明*/
            &USR_cb); /* 该变量在 usbd_usr.c/h 中 定义/声明*/



使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则