找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2020|回复: 0
打印 上一主题 下一主题
收起左侧

stm32CubeMx_stm32f103rc外部flash U盘驱动源程序

[复制链接]
跳转到指定楼层
楼主
ID:237044 发表于 2020-11-11 16:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
电脑系统:win10 _64          Keil_MDK5.26.2.0
STM32CubeMX  Verasion5.3.0
  • GPIO设置
SPI1:GPIOA _PIN5、6、7  
FLASH_CS:GPIOA_PIN _2
LED:GPIOD_PIN _2

  • RCC
  • SYS
4、SPI1  Prescaler(for Baud Rate)  4
5  USB
6 、FATFS设置  (也可以不设置)
7、  USB设置
8、clock configuration
9、  Project
10、 Code Generator
11、              Advanced Settings
12、 点击右上 GENERATE  CODE生成代码
13、弹出对话框后,点击中间选项,打开Keil
14、程序修改
复制W25Qxx.cg到Src文件夹,W25Qxx.h到
在gpio.h 中添加
#define W25Qx_Enable()              HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2, GPIO_PIN_RESET)
#define W25Qx_Disable()              HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_SET)
W25Qxx.c 中添加头文件#include "gpio.h"
W25Qxx.h 添加头文件#include "spi.h"
最后修改关键的c文件usbd_storage_if.c
添加头文件#include "W25QXX.h"
添加子程序BSP_W25Qx_Init();
添加子程序
BSP_W25Qx_Read(buf,blk_addr*STORAGE_BLK_SIZ,  blk_len*STORAGE_BLK_SIZ);
添加子程序
BSP_W25Qx_Erase_Block(blk_addr*STORAGE_BLK_SIZ);
BSP_W25Qx_Write(buf,blk_addr*STORAGE_BLK_SIZ,blk_len*STORAGE_BLK_SIZ);
点击Keil MDK 编译
烧录入开发板发现U盘,格式化后:
写入速度慢了点
扩容盘2M变4M不稳定,拷贝3M文件进入U盘后,重新插电有时又提示要格式化.
把usbd_storage_if.c中的0X400改成0X200
0x200 * 0x1000 = 0x200000=2,097,152Byte(W25Q16的实际容量)

全部资料51hei下载地址:
USB2.7z (599.38 KB, 下载次数: 29)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表