完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一、整体步骤
二、STM32CubeMX配置 芯片:STM32F407VG 基本上只需要使用STM32CubeMX给的默认配置就行了
三、u***d_storage_if.c 中的修改 /* 这里可以放入SD卡的初始化函数 */ int8_t STORAGE_Init_FS(uint8_t lun) { /* USER CODE BEGIN 2 */ return (USBD_OK); /* USER CODE END 2 */ } /* 获取SD卡容量信息 */ int8_t STORAGE_GetCapacity_FS(uint8_t lun, uint32_t *block_num, uint16_t *block_size) { /* USER CODE BEGIN 3 */ HAL_SD_CardInfoTypeDef info; if(HAL_SD_GetCardState(&hsd) == HAL_SD_CARD_TRANSFER) { HAL_SD_GetCardInfo(&hsd, &info); *block_num = info.LogBlockNbr; *block_size = info.LogBlockSize; return USBD_OK; } return USBD_FAIL; /* USER CODE END 3 */ } /* 这里可以写入SD卡状态判断 */ int8_t STORAGE_IsReady_FS(uint8_t lun) { /* USER CODE BEGIN 4 */ return (USBD_OK); /* USER CODE END 4 */ } /* U盘类用户的读函数 */ int8_t STORAGE_Read_FS(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len) { /* USER CODE BEGIN 6 */ int8_t ret = USBD_FAIL; if( HAL_SD_ReadBlocks(&hsd, buf, blk_addr, blk_len, HAL_MAX_DELAY) == HAL_OK ) { ret = USBD_OK; while(HAL_SD_GetState(&hsd) == HAL_SD_STATE_BUSY); while( HAL_SD_GetCardState(&hsd) != HAL_SD_CARD_TRANSFER ); } return ret; /* USER CODE END 6 */ } /* U盘类用户的写函数 */ int8_t STORAGE_Write_FS(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len) { /* USER CODE BEGIN 7 */ int8_t ret = USBD_FAIL; if( HAL_SD_WriteBlocks(&hsd, buf, blk_addr, blk_len, HAL_MAX_DELAY) == HAL_OK ) { ret = USBD_OK; while(HAL_SD_GetState(&hsd) == HAL_SD_STATE_BUSY); while( HAL_SD_GetCardState(&hsd) != HAL_SD_CARD_TRANSFER ); } return ret; /* USER CODE END 7 */ } 四、注意事项
|
|
|
|
只有小组成员才能发言,加入小组>>
3320 浏览 9 评论
3000 浏览 16 评论
3496 浏览 1 评论
9069 浏览 16 评论
4089 浏览 18 评论
1190浏览 3评论
612浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
603浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2339浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1899浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 10:16 , Processed in 1.095441 second(s), Total 48, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号