STMCU小助手
发布时间:2022-2-11 22:25
|
前言 本篇 LAT 从控制传输的角度解析了运行在“USB FS IP”这款 USB 模块上的全速 USB 设备库的结构和用法。 背景:不同的 USB 模块和其对应软件包 STM32 MCU 根据系列不同,所集成的 USB IP 有所不同。本文是针对“USB FS IP”这个 USB 模块在其编 号为 STSW-STM32121 的全速 USB 设备库的一个介绍。 USB FS IP 1. 集成于 STM32F1(除 F105/107)、STM32L1、STM32F3 2. 只支持全速(FS)下的 USB 设备角色 3. 软件包:STSW-STM32121 (v4.0.0) USB 设备库结构分析 中断处理响应所有的 USB 事件,如下图所示。
通过控制传输处理标准枚举+类相关枚举 控制传输由三个 stage 组成,如下图所示:
在控制传输的第一阶段(Setup stage)完成后,分析 Setup 数据包 8 字节命令,提供用户回调函数处理和应用所使用的类相 关的控制命令
在控制传输的第二阶段(IN 方向的 Data stage),处理第一阶段准备好(确定了数据长度和数据起始地址)的待发送的数据; 或者 在控制传输的最后阶段(IN 方向的 Status stage)完成后,提供用户接口做应用相关任务
在控制传输的第二阶段(OUT 方向的 Data stage),接收数据;或者 在控制传输的最后阶段(OUT 方向的 Status stage)完成后,提供用户接口做应用相关任务
结合真实枚举过程的传输来看几个实际的例子
|
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:逢7发帖赢大礼】8、基于STM32G070板子的Ymodem串口协议IAP Bootloader开发
【福利三:逢7发帖赢大礼】7、基于STM32G070板子TF卡的FATFS移植
【福利三:逢7发帖赢大礼】6、基于STM32G070板子spiflash的FATFS移植
【福利三:逢7发帖赢大礼】5、基于STM32G070板子IRDA红外遥控接收解码
【福利三:逢7发帖赢大礼】4、基于STM32G070板子SPI flash 移植SFUD库
【福利三:逢7发帖赢大礼】基于STM32G070板子的uart shell移植设计
【福利三:逢7发帖赢大礼】3、基于STM32G070板子的YModem串口协议通信
【福利三:逢7发帖赢大礼】2、基于STM32G070板子的OLED移植U8G2库
实战经验 | ClassB功能安全认证代码与应用代码分区的实现要点
微信公众号
手机版