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)完成后,提供用户接口做应用相关任务
结合真实枚举过程的传输来看几个实际的例子
|
【福利三:逢7发帖赢大礼】4、基于STM32G070板子SPI flash 移植SFUD库
【福利三:逢7发帖赢大礼】基于STM32G070板子的uart shell移植设计
【福利三:逢7发帖赢大礼】3、基于STM32G070板子的YModem串口协议通信
【福利三:逢7发帖赢大礼】2、基于STM32G070板子的OLED移植U8G2库
实战经验 | ClassB功能安全认证代码与应用代码分区的实现要点
STM32G0 系列 I2C 通信异常典型案例分析与解决方案总结
经验分享 | LAT1490 两个STM32G0 I2C 通信异常的案例分析
经验分享 | STM32G0 I2C bootloader Go 命令后调试连接失败:DBG_SWEN 位复位修复
经验分享 | STM32G0B1 待机模式意外唤醒深度解析:RTC 结构体未初始化的隐形坑
经验分享 | STM32G0B1 待机模式意外唤醒深度解析:RTC 结构体未初始化的隐形坑
微信公众号
手机版