900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > STM32+W25QXX实现模拟U盘-HAL库

STM32+W25QXX实现模拟U盘-HAL库

时间:2023-09-09 18:27:55

相关推荐

STM32+W25QXX实现模拟U盘-HAL库

材料选取

主控芯片:STM32F103C8T6

储存芯片:W25Q16

线性稳压芯片:3.3V稳压SOT-23-5封装

原理图绘制

电源输入及稳压部分:

D+数据线上必须加1K的上拉电阻,否则不能通信

单片机最小系统(网络KEY1~3、SWCLK、SWDIO未使用)

存储芯片:使用芯片的SPI2端口

软件安装

软件:STM32CubeMx

软件下载步骤:

1.使用浏览器搜索“stm32cubemx官网”

2.找到点击进入

3.往下滑,找到获取软件,选择对应的操作系统的版本下载安装

软件使用

1.打开软件

2.在主页点击file->New Project,等待数据加载完成

3.选择芯片型号,完成后点击右上角“start Project”

4.配制程序下载方式(jink下载)

5.RCC配制

6.SPI通信口模式配制(全双工主机模式)

选择PB12作为片选控制引脚

配制其端口模式引脚初始化电平

7.勾选USB驱动

8.配制USB,选择大容量存储器,将扇区大小改为4096

9.系统时钟树设置

8.项目名及储存地址设置

Toolchain/IDE这里一定要选择“MDK-ARM”,版本可以选低一点

9.完成后点击“GENERATE CODE”

10.代码生成后,打开代码,想其中添加存储器的驱动文件。

11.在文件中,找到usbd_storage_if.c

修改STORAGE_BLK_NBR 值,改为存储器扇区数量,例如W25Q16 容量为2M字节,共有16个Block,512个Sector

修改STORAGE_BLK_SIZ 4096扇区的大小

此处添加存储器驱动初始化函数

此处添加

修改后重新编译,即可。

但是如果在此基础上再添加FATFS系统的会,则需要修改参数

扇区大小改为512字节,扇区数量:2048 * 容量

读写函数中地址和长度<<12改为<<9或是 * 512,即一个扇区的大小。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。