usb hid调试助手_「正点原子NANO STM32F103开发板资料连载 第32章 USB 读卡器实验

本文档介绍了如何使用正点原子NANO STM32F103开发板创建USB读卡器,基于STM32的USB接口实现USB Mass Storage功能。通过移植官方例程,涉及Bulk-Only传输协议,硬件设计包括SPI FLASH接口,软件设计涉及USB配置和状态管理,最终实现在电脑上显示两个可移动磁盘。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)实验平台:【正点原子】 NANO STM32F103 开发板2)摘自《正点原子STM32 F1 开发指南(NANO 板-HAL 库版)》关注官方微信号公众号,获取更多资料:正点原子

a6ecea97febc5a3843c8d0d1b9794303.png

第三十二章 USB 读卡器实验

上一章我们向大家介绍了如何利用 STM32 的 USB 来做一个 USB 虚拟串口,本章我们将利用 STM32 的 USB 来做一个 USB 读卡器。本章分为如下几个部分:

32.1 USB 读卡器简介

32.2 硬件设计

323 软件设计

32.4 下载验证

32.1 USB 读卡器简介

ALIENTEK NANO STM32 开发板板载了一个 2M 字节的 SPI FLASH 芯片,通过 STM32

的 USB 接口,我们可以实现一个简单的 USB 读卡器,来读写 SPI FLASH。

本章我们还是通过移植官方的 USB Mass_Storage 例程来实现,该例程在 MDK 的安装目录

下可以找到(..MDKARMExamplesSTSTM32F10xUSBLibDemosMass_Storage)。

USB Mass Storage 类支持两个传输协议:

1)Bulk-Only 传输(BOT)

2)Control/Bulk/Interrupt 传输(CBI)

Mass Storage 类规范定义了两个类规定的请求:Get_Max_LUN 和 Mass Storage Reset,所有

的 Mass Storage 类设备都必须支持这两个请求。

Get_Max_LUN(bmRequestType= 10100001b and bRequest= 11111110b)用来确认设备支持

的逻辑单元数。Max LUN 的值必须是 0~15。注意:LUN 是从 0 开始的。主机不能向不存在的

LUN 发送 CBW,本章我们定义 Max LUN 的值为 1,即代表 2 个逻辑单元。

Mass Storage Reset(bmRequestType=00100001b and bRequest= 11111111b)用来复位 Mass

Storage 设备及其相关接口。

支持 BOT 传输的 Mass Storage 设备接口描述符要求如下:

接口类代码 bInterfaceClass=08h,表示为 Mass Storage 设备;

接口类子代码 bInterfaceSubClass=06h,表示设备支持 SCSI Pri

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值