代码在哪里
以 stm32f4为例,stm32 usb 提供的有两种,直接以下面的关键字去https:
第1个是 传统的(不带hal层) : STSW-STM32046
第2个是 cube的(带hal层) : STM32CubeF4
如果想要stm32f3 usb 的库, 搜索关键字 "stm32f3 usb"
该关键字搜索出来的东西包括 软件包和文档,最好都下载下来看看
正点原子stm32f4 探索者 用的是 STSW-STM32046,版本为1.1.0
* @author MCD Application Team
* @version V1.1.0
* @date 19-March-2012
STSW-STM32046 当前(2021-7-3 17:16:20)最新版本为2.2.1
* @author MCD Application Team
* @version V2.2.1
* @date 17-March-2018
代码简介
1. usb_core.c usb_dcd.c usb_dcd_int.c usb_bsp.c
2. usbd_core.c usbd_ioreq.c usbd_req.c
3. usbd_audio_core.c usbd_audio_out_if.c/usbd_msc_bot.c usbd_msc_core.c usbd_msc_data.c usbd_msc_scsi.c
4. usbd_desc.c usbd_usr.c stm324xg_usb_audio_codec.c/usbd_storage_msd.c
1中的代码 为 usb driver ,该代码直接操作usb硬件,usb_bsp.c需要用户改动
2中的代码 为 usb device 库 中的 core 部分
3中的代码 为 usb device 库 中的 class 部分,该篇中显示的为 class audio 和 class msc
4中得代码 为 USB配置端口部分 及 回调函数实现部分, 该部分需要用户改动
1. usb_core.c usb_dcd.c usb_dcd_int.c usb_bsp.c
2. usbh_core.c usbh_ioreq.c usbh_hcs.c usbh_stdreq.c
3. usbh_msc_bot.c usbh_msc_core.c usbh_msc_scsi.c/usbh_hid_core.c usbh_hid_keybd.c udbh_hid_mouse.c
4. usbh_usr.c
1中的代码 为 usb driver ,该代码直接操作usb硬件,usb_bsp.c需要用户改动
2中的代码 为 usb host 库 中的 core 部分
3中的代码 为 usb host 库 中的 class 部分,该篇中显示的为 class msc和 class hid
4中得代码 为 回调函数实现部分
STSW-STM32046 2.2.1 部分代码
STM32_USB-Host-Device_Lib_V2.2.0/Libraries $ tree
.
├── STM32_USB_Device_Library
│ ├── Class
│ │ ├── hid_msc_wrapper
│ │ │ ├── inc
│ │ │ │ └── usbd_msc_hid_core.h
│ │ │ └── src
│ │ │ └── usbd_msc_hid_core.c
│ │ ├── msc
│ │ │ ├── inc
│ │ │ │ ├── usbd_msc_bot.h
│ │ │ │ ├── usbd_msc_core.h
│ │ │ │ ├── usbd_msc_data.h
│ │ │ │ ├── usbd_msc_mem.h
│ │ │ │ └── usbd_msc_scsi.h
│ │ │ └── src
│ │ │ ├── usbd_msc_bot.c
│ │ │ ├── usbd_msc_core.c
│ │ │ ├── usbd_msc_data.c
│ │ │ ├── usbd_msc_scsi.c
│ │ │ └── usbd_storage_template.c
│ │ ├── audio
│ │ ├── cdc
│ │ ├── customhid
│ │ ├── dfu
│ │ ├── hid
│ │ └── hid_cdc_wrapper
│ │
│ ├── Core
│ │ ├── inc
│ │ │ ├── usbd_conf_template.h
│ │ │ ├── usbd_core.h
│ │ │ ├── usbd_def.h
│ │ │ ├── usbd_ioreq.h
│ │ │ ├── usbd_req.h
│ │ │ └── usbd_usr.h
│ │ └── src
│ │ ├── usbd_core.c
│ │ ├── usbd_ioreq.c
│ │ └── usbd_req.c
│ └── Release_Notes.html
└── STM32_USB_OTG_Driver
├── Release_Notes.html
├── inc
│ ├── usb_bsp.h
│ ├── usb_conf_template.h
│ ├── usb_core.h
│ ├── usb_dcd.h
│ ├── usb_dcd_int.h
│ ├── usb_defines.h
│ ├── usb_hcd.h
│ ├── usb_hcd_int.h
│ ├── usb_otg.h
│ └── usb_regs.h
└── src
├── usb_bsp_template.c
├── usb_core.c
├── usb_dcd.c
├── usb_dcd_int.c
├── usb_hcd.c
├── usb_hcd_int.c
└── usb_otg.c