利用STM32CubeMX软件生成USB_HOST读写U盘

一、测试平台:
MCU:STM32F429IGT6
工具:STM32CubeMX软件
编译软件:MDK

二、配置步骤
(1).打开STM32CubeMX软件,创建新的工程文件,点击ACCESS TO MCU SELECTOR选项。
在这里插入图片描述
(2).选择芯片型号,在这里选择STM32F429IGT6型号。
在这里插入图片描述
(3).配置时钟,点击System Core项下的RCC栏,由于电路板上有外部晶振,这里配置外部晶振,High Speed Clock(HSE),Low Speed Clock(LSE)都设置为Crystal/Ceramic Resonator。
在这里插入图片描述
(4),配置时钟数(Clock Configuration),由于电路板上的晶振分别为25MHZ,32.768KHZ,在这里我们输入25MHZ,HCLK栏输入180之后按回车键,让软件自动配置完成。
在这里插入图片描述
(5).配置串口1,用于调试使用,Mode栏选择Asynchronous,管脚选择PA9,PA10,电路板上串口1对应PA9,PA10,勾选USART1 global interrupt中断。
在这里插入图片描述
(6).填写工程文件信息,按如下图示设置即可
在这里插入图片描述
在这里插入图片描述
(7).生成代码,用于测试串口1生成的工程项目是否可用,点击GENERATE CODE。
(8).测试代码,在工程文件中添加代码int fputc(int ch,FILE *f),勾选Use MicroLIB选项,用printf函数测试串口1的功能。
在这里插入图片描述
在这里插入图片描述
(9).配置USB_OTG,由于电路板上的USB引出来的管脚是PB14,PB15,所以在这里需要配置USB_OTG_HS,由于电路板上没有外接Phy,所以这里配置为内部的FS Phy,Internal FS Phy选项下Host Only。
在这里插入图片描述
(10).配置USB_HOST,由于我们是用做U盘的读写,所以在这里配置为Class For HS IP项下选择Mass Storage Host Class。
在这里插入图片描述
(11).配置FATFS,勾选USB Disk,由于我们需要用到中文,所以CODE PAGE选择Simplified Chinese (DBCS),配置为长文件名,USE_LFN选择Enabled with static working buffer on…
在这里插入图片描述
(12).配置完USB之后,返回Clock Configuration界面下更新时钟,可看到48MHZ的时钟现在生效了,用来操作U盘的,再次生成代码GENERATE CODE。
在这里插入图片描述
(13).打开工程文件,替换USBH_UsrLog(…)宏定义为
#define USBH_UsrLog(…) do {
printf(“USBH_UsrLog: “) ;
printf(VA_ARGS);
printf(”\n”);
} while (0)
在这里插入图片描述
(14).编译完成之后,下载到电路板上,插入U盘,串口1输出以下信息,说明生成的USB Host成功。

在这里插入图片描述
(15),若需要生成带有FreeRtos的工程,则配置FreeRtos。
在这里插入图片描述
(16).USB_Host需要重新设置一下,CMSIS_RTOS中的 USBH_USE_OS Enable,USBH_PROCESS_STACK_SIZE 512,默认堆栈大小为128,经实验当U盘插入之后,程序会进入HardFault_Handler,修改为512正常。
在这里插入图片描述

  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: STM32CubeMX软件是一款用于生成STM32微控制器应用程序的图形化设计工具。使用它可以快速配置STM32的硬件,并生成符合STM32标准的C/C++代码,以及相关的配置文件。要生成STM32的SPI驱动程序,首先需要在STM32CubeMX软件中配置SPI的硬件,然后生成C/C++代码并编译,最后将编译好的文件链接到相应的应用程序中即可。 ### 回答2: STM32CubeMX软件是针对ST微电子的STM32系列微控制器的开发工具。它提供了一个图形化的界面,使得开发人员可以轻松地生成C代码的启动文件和初始化配置,以及相关外设驱动程序。 要使用STM32CubeMX软件生成STM32的SPI驱动程序,可以按照以下步骤进行操作: 1. 下载和安装STM32CubeMX软件,并启动它。 2. 在工程窗口中选择要使用的STM32微控制器型号,并创建一个新项目。 3. 在配置栏中选择"GPIO"选项卡,启用所需的SPI引脚。 4. 在配置栏中选择"RCC"选项卡,配置系统时钟和外设时钟使能。 5. 在配置栏中选择"SPI"选项卡,并启用SPI外设,并进行相关配置,如主从模式、传输速率、数据位数等。 6. 在NVIC配置中启用SPI外设中断(如果需要)。 7. 点击"生成代码"按钮,STM32CubeMX生成相关的C代码并自动保存。 8. 在生成的代码中,可以找到SPI初始化函数,例如"HAL_SPI_Init()",在主函数中调用此函数进行SPI外设的初始化。 9. 通过适当的SPI发送和接收函数调用,可以在应用程序中使用SPI外设进行通信。 总结来说,使用STM32CubeMX软件生成STM32的SPI驱动程序的步骤包括选择目标微控制器型号、配置SPI引脚和参数、生成代码并保存、初始化SPI外设,并在应用程序中使用SPI函数进行通信。这个工具可以大大简化SPI驱动程序的生成过程,提高开发效率。 ### 回答3: 使用STM32CubeMX软件生成STM32的SPI驱动程序很简单。下面是具体的步骤: 1. 下载并安装STM32CubeMX软件,并打开软件。 2. 在软件界面的左侧,选择需要使用的STM32系列微控制器。 3. 在"Pinout & Configuration"选项卡中,选择需要使用的SPI接口。如果需要使用多个SPI接口,可以在"Peripherals"列表中选择并启用多个SPI接口。 4. 在"Pinout & Configuration"选项卡中,为SPI接口选择引脚。单击需要选择的引脚,在弹出的菜单中选择对应的引脚功能。确保引脚选择符合硬件连接的需求。 5. 在"Configuration"选项卡中,设置SPI的各种参数。这些参数包括时钟极性、时钟相位、数据位长度、数据传输模式等。如果需要使用硬件NSS信号,也可以在这里设置。 6. 在"Initialization"选项卡中,选择SPI的初始化方法。可以选择使用HAL库还是LL库初始化SPI。 7. 在"Preparation"选项卡中,可以进行其他相关设置,比如中断优先级等。 8. 确认所有的设置后,单击界面下方的"GENERATE CODE"按钮,生成工程代码。 9. 打开生成的工程代码,找到SPI驱动程序所在的文件。通常情况下,SPI驱动程序会在"main.c"或者其他自动生成的文件中。 10. 根据生成的代码,调用对应的函数来控制SPI接口进行数据传输。通常情况下,生成的代码已经包含了SPI的初始化和数据传输的相关函数。 总之,使用STM32CubeMX软件生成STM32的SPI驱动程序只需要进行简单的配置和参数设置,然后点击生成代码即可。生成的代码中已经包含了SPI的初始化和数据传输函数,可以直接调用和使用。使用这些生成的函数,可以轻松地控制STM32的SPI接口进行数据传输。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值