找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2464|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

stm32CubeMx_stm32f103rc外部flash U盤驅(qū)動(dòng)源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:237044 發(fā)表于 2020-11-11 16:47 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
電腦系統(tǒng):win10 _64          Keil_MDK5.26.2.0
STM32CubeMX  Verasion5.3.0
  • GPIO設(shè)置
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設(shè)置  (也可以不設(shè)置)
7、  USB設(shè)置
8、clock configuration
9、  Project
10、 Code Generator
11、              Advanced Settings
12、 點(diǎn)擊右上 GENERATE  CODE生成代碼
13、彈出對(duì)話框后,點(diǎn)擊中間選項(xiàng),打開Keil
14、程序修改
復(fù)制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"
最后修改關(guān)鍵的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);
點(diǎn)擊Keil MDK 編譯
燒錄入開發(fā)板發(fā)現(xiàn)U盤,格式化后:
寫入速度慢了點(diǎn)
擴(kuò)容盤2M變4M不穩(wěn)定,拷貝3M文件進(jìn)入U(xiǎn)盤后,重新插電有時(shí)又提示要格式化.
把usbd_storage_if.c中的0X400改成0X200
0x200 * 0x1000 = 0x200000=2,097,152Byte(W25Q16的實(shí)際容量)

全部資料51hei下載地址:
USB2.7z (599.38 KB, 下載次數(shù): 29)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表