电脑系统:win10 _64 Keil_MDK5.26.2.0 STM32CubeMX Verasion5.3.0 SPI1:GPIOA _PIN5、6、7 FLASH_CS:GPIOA_PIN _2 LED:GPIOD_PIN _2
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下载地址: |