STM32弹U盘
创始人
2024-05-29 13:45:17

文章目录

  • 1、弹U盘
    • 1.1 通过CubeMX配置USB
    • 1.2 配置USB_DEVICE
    • 1.3 usbd_storage_if.c文件
    • 1.4 修改usb_device.c文件
    • 1.5 在main函数中调用 fileSystemInit()函数

1、弹U盘

1.1 通过CubeMX配置USB

image-20230306144309670

image-20230306144337415

1.2 配置USB_DEVICE

image-20230306144433222

image-20230306144451771

1.3 usbd_storage_if.c文件

#define STORAGE_LUN_NBR                  1
#define STORAGE_BLK_NBR                  0x10000
#define STORAGE_BLK_SIZ                  0x200

将其改成对应的大小,比如W25Q256的配置

#define STORAGE_LUN_NBR                  1
#define STORAGE_BLK_NBR                  8192
#define STORAGE_BLK_SIZ                  4096

1.4 修改usb_device.c文件

在MX_USB_Device_Init函数中加入W25Q256的初始化函数

image-20230306145253866

1.5 在main函数中调用 fileSystemInit()函数

此函数是挂载Flash,若没有发现文件系统则创建,或则是调用擦除全片的函数擦除,然后在电脑上格式化也行。

FRESULT  fileSystemInit(void)
{f_res = f_mount(&fs, USER_Path, 1);if (f_res != FR_OK){//No Disk file system,format disk !f_res = f_mkfs(USER_Path, FM_FAT, 4096, work, sizeof work);if (f_res == FR_OK){f_res = f_mount(&fs, USER_Path, 1);if (f_res == 0){return FR_OK;}else{debug_print("f_mount error %d\n",f_res);return FR_DISK_ERR;}}else{debug_print("f_mkfs error %d\n",f_res);return FR_DISK_ERR;}}else{debug_print("f_mount ok %d\n",f_res);}return FR_OK;
}

相关内容

热门资讯

脑机接口遇到音乐治疗,AI真能... 志愿者体验“央音一号”。受访者供图 在走进中央音乐学院“央音一号”实验室之前,中青报·中青网记者对脑...
伊朗警告:若遭攻击必将还击 据外媒报道,伊朗议长卡利巴夫11日说,如果美国对伊朗发动打击,伊朗将把以色列以及美国在中东地区的军事...
SpaceX再部署7500颗星... 来源:@央视财经微博 【#SpaceX再部署7500颗星...
商络电子:向不特定对象发行可转... 商络电子公告,公司于2026年1月9日收到深圳证券交易所出具的《关于受理南京商络电子股份有限公司向不...
王毅原定访问索马里计划推迟 中... 新京报讯 据中国驻索马里使馆消息,有媒体报道,中共中央政治局委员、外交部长王毅原定1月9日访问索马里...