分享一个STM32CubeMX实现SDIO+DMA+FatFs的步骤

2019-12-11 18:30发布

我的软硬件环境是:STM32CubeMX V4.25   Keil 5.18   STM32F429BITx

首先在端口配置中选择SDIO和FatFS:
FATFS.png (58.35 KB, 下载次数: 0) 下载附件 2018-8-20 09:14 上传

配置完成后生成代码,这时还不能直接使用,需要重写一下SD卡收发的回调函数,我是在sd_driver.c文件末尾的用户保护代码区增加了以下内容:
(以上STM32CubeMX部分配置网上教程很多,但很少有人提及回调函数这个问题,不知道是不是以前的版本不需要这一步?)
/* USER CODE BEGIN lastSection */
/* can be used to modify / undefine previous code or add new code */

void HAL_SD_TxCpltCallback(SD_HandleTypeDef *hsd)
{
    BSP_SD_WriteCpltCallback();
}

void HAL_SD_RxCpltCallback(SD_HandleTypeDef *hsd)
{
     BSP_SD_ReadCpltCallback();
}
       
/* USER CODE END lastSection */

完成后即可正常使用FatFS文件系统了:
res=f_mount(&SDFatFS, (TCHAR const*)SDPath, 1);
result = f_open(&file,sFileName,FA_OPEN_EXISTING|FA_WRITE|FA_OPEN_ALWAYS);
略.....
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
wzyllgx
1楼-- · 2019-12-11 20:54
 精彩回答 2  元偷偷看……
ZXF_CUG
2楼-- · 2019-12-11 23:06
补充一下:STACK空间也要设置大一些
麦田有怪圈
3楼-- · 2019-12-12 00:50
收藏,感谢分享
huangguimina4
4楼-- · 2019-12-12 05:43
谢谢楼主的无私奉献
eliterxzgxu
5楼-- · 2019-12-12 10:55
感谢楼主分享
LCH201328
6楼-- · 2019-12-12 15:02
 精彩回答 2  元偷偷看……

一周热门 更多>