|
我的软硬件环境是:STM32CubeMX V4.25 Keil 5.18 STM32F429BITx
首先在端口配置中选择SDIO和FatFS:
然后修改SDIO的配置,增加收发DMA,如下图:
打开DMA和SDIO的中断,且配置SDIO的中断优先级要高于DMA的优先级:
然后配置FatFS文件系统:
配置完成后生成代码,这时还不能直接使用,需要重写一下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);
略.....
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|