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,即一个扇区的大小。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程宸宸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值