
STM32Cube USB 设备库 , b* M. B) q M/ ` 1 v b1 j) y4 Q0 s4 t7 s' ~- T% V 前言 " y/ ~- l& ~/ Q+ w4 @2 v* C 通用串行总线 (USB)为个人计算机史上最成功的互连技术,用于连接鼠标、游戏机、操纵杆、扫描仪、数码相机、打印机等设备。 USB 也已经移植到消费电子和移动产品中。 + m/ @2 t+ v, r, a! ^1 X$ V ( ~4 B. b ]2 c 本文的目的是说明怎样使用 STM32Cube USB 从设备库 ( 该库支持所有意法半导体的 STM32 系列 MCU),并如何使用该库实现通用 USB 设备类 (HID 类、 MSC 类、音频类、 CDC 类 ……)产品的开发与应用。 8 P, }, t' N8 S7 ?7 \ C1 ` USB 设备库为 STM32Cube 固件包的一部分 (如 STM32CubeF0、 STM32CubeF2、STM32CubeF3、 STM32CubeF4 和 STM32CubeL0),可从 ST 网站(http://www.st.com/stm32cube)免费下载。% P7 y) Q, N7 V! F# }4 s6 R 1 STM32Cube 概述 - v; a7 j1 a9 M3 Z# K' x a STMCubeTM 计划源自意法半导体,旨在通过减少开发的工作量、时间与成本,使开发者受益。 STM32Cube 涵盖 STM32 整个产品系列。 + c3 g4 i! l$ t$ U! Z5 |* Z STM32Cube 1.x 版包括: & [ `9 P! d3 y9 c • 图形软件配置工具 STM32CubeMX,可通过图形向导生成初始化 C 代码。 0 j/ Y" J; w4 R* n • 综合的嵌入式软件平台,并针对每个系列提供单独的库文件(例如 STM32CubeF2 用于STM32F2 系列, STM32CubeF4 用于 STM32F4 系列) – STM32 抽象层嵌入式软件 STM32Cube HAL,确保在 STM32 各个产品之间实现最大限度的可移植性 – 一套一致的中间件,比如 RTOS、 USB、 TCP/IP、图形。 – 所有嵌入式软件实用工具均配备一套完整的示例。, H3 L! n; Z+ Y; s2 G ![]() 2 前言 7 |$ G' r9 [9 X& r2.1 缩写和缩略语 ; d! ?! t; }; C& h5 I8 N9 d* c j表 1 简要介绍本文档中所用首字母缩略词和缩写词的定义: . ?1 Q6 t. s4 i. i3 i" R![]() 2.2 附加信息 ?* M1 |' K& i, h( [# n除了本文档,意法半导体还提供了关于 USB 的若干其它资源: / t' n0 r8 |! g l u9 W" b• USB HOST 用户手册 UM1720 • UM1725(STM32F4xx HAL 驱动描述)在此文档中,您可看到两个 USB 通用驱动描述(用于主机的 HCD 和用于设备的 PCD) 2.3 参考 & I- Z* [ a5 n- C3 N) |) Y; @• 通用串行总线规范,版本 2.0, http: //www.usb.org + c9 b9 [7 v9 V8 C1 J• USB 设备类规范 (音频、 HID、 MSC 等等):http://www.usb.org 6 k- s& R# }5 G) ~ E5 \+ T3 简介 3.1 概述 意法半导体为其客户提供了新型 USB 栈:设备栈和主机栈,可支持所有 STM32 MCU 及多种开发工具,例如 Atollic® TrueSTUDIO、 IAR 嵌入式 Workbench (用于 ARM ®),以及 KeiluVision®。 本文侧重于 USB 设备栈。对于主机栈,请参考相关用户手册。 USB 设备库对于所有 STM32 微控制器通用,仅需 HAL 层适配每款 STM32 设备。 USB 设备库位于 STM32Cube USB 设备 HAL 驱动之上。下文讲述了 STM32Cube USB 设备库中间件模块,并举例说明了用户如何使用此库提供的所需 API,轻松开发自己的 USB 设备应用。 USB 设备库是每个 STM32 系列 STM32Cube 包的一部分,包含了 USB 底层驱动、通用类驱动,以及常用 USB 设备类样例的应用示例,可用于 USB 全速和高速传输类型(控制、中断、批量、同步)。 USB 设备库的目的是为每种 USB 传输类型提供至少一个固件演示: ' x0 j& [/ Z8 P- y人机界面设备 HID: 3 I; w% v, A0 @, Z: q• HID 摇杆演示基于 EVAL 板上的嵌入式摇杆及自定义的 HID 样例 音频: • 音频设备样例用于流音频数据 通信设备 (CDC): % e5 B l! y' X• VCP USB-RS232 桥,实现了虚拟 COM 端口。 批量: • 大容量存储演示,基于 EVAL 板上的 microSD 卡。 # O: |4 I! ~% i( W8 q0 M0 y! C设备固件升级: - q+ x9 E" _# L6 V8 U3 o• DFU 用于固件下载和上传 双核设备演示 • 基于具有人机接口的大容量存储和具有 CDC 设备样例的大容量存储 涉及的主题: & @' @+ e2 \' Q+ m( a• USB 设备库架构 • USB 设备库描述 • USB 设备库状态机概述 6 F& G/ u3 w; X0 H. Z# b• USB 设备类概述 4 ?, J" G1 p* B! V- E8 N |
一直感觉USB很复杂 |
最全USB HID开发资料,悉心整理一个月,亲自测试
实战经验 | 选择USBX模块生成USB CDC ACM无PD的项目
STM32 USB HID键盘例程
刘氓兔的杂谈【001】-片上USB 高速PHY
【经验分享】在进行 USB CDC 类开发时,无法发送 64整数倍的数据
【源码】STLINK-V3MINI 高速USB仿真器,成功改刷【高速CMSIS-DAP】
在线直播|无需编写任何代码即可在STM32上实现USB-C Power Delivery
STM32 USB CDC 虚拟多串口
圈圈发布USB图书第二版有感,以及分享一些我学习USB过程...
USB Audio设计与实现