材料选取
主控芯片: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,即一个扇区的大小。