天天看点

usb大容量存储设备驱动_STM32编程学习——USB模拟U盘0背景1cube MX配置步骤U盘枚举成功后记

0背景

之前学习了USB虚拟成串口VCP和自定义HID设备的两种模式,本次来学习STM32的USB模拟成大容量存储设备模式,即将STM32板子模拟成U盘。

1cube MX配置步骤

  • 首先选择USB使用模式,我们选择MSC模式,如下图所示
usb大容量存储设备驱动_STM32编程学习——USB模拟U盘0背景1cube MX配置步骤U盘枚举成功后记
  • 然后配置系统和USB外设所使用的时钟树,USB使用48MHz的频率。
usb大容量存储设备驱动_STM32编程学习——USB模拟U盘0背景1cube MX配置步骤U盘枚举成功后记

配置这些基本参数后,选择需要生成的工程,配置工程参数略过。然后可以使用cubeMX软件生成工程代码。

生成的工程代码还需要添加一些USB的IO口和重新枚举检测的代码,具体添加代码如下,因为STM32F1系列型号需要外部的IO口来控制USB设备的重新枚举检测,其它型号其内部已集成了该功能电路,可不需要该控制电路和代码。

usb大容量存储设备驱动_STM32编程学习——USB模拟U盘0背景1cube MX配置步骤U盘枚举成功后记

U盘枚举成功

添加上述代码后,将程序下载进开发板,可以在电脑上看到有一个盘符出现,还会提示我们是否需要进行格式化,格式化后就可以使用了,由于本次实验的开发板RAM比较小,所以本次实验不格式化,只实现枚举,显示盘符

usb大容量存储设备驱动_STM32编程学习——USB模拟U盘0背景1cube MX配置步骤U盘枚举成功后记
usb大容量存储设备驱动_STM32编程学习——USB模拟U盘0背景1cube MX配置步骤U盘枚举成功后记
usb大容量存储设备驱动_STM32编程学习——USB模拟U盘0背景1cube MX配置步骤U盘枚举成功后记

后记

下一次实验,实现USB的复合设备模式(CDC和MSC)。