You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NUCLEO-F103RB通过SPI挂载FATFS失败,返回FR_NOT_READY(3)

NUCLEO-F103RB挂载SD卡失败求助

我已被这个问题困扰数日:在NUCLEO-F103RB开发板上尝试用f_mount挂载一张8GB SD卡(已格式化为FAT32,扇区大小4096),采用eziya的开源库。尽管程序逻辑简单,但SD卡始终无法挂载,读取总空间和可用空间时均返回0。

主循环代码

FATFS fs;
FIL fil;
FRESULT fresult;
char buffer[1024];

UINT br, bw;

FATFS *pfs;
DWORD fre_clust;
uint32_t total, free_space;

fresult = f_mount(&fs, "", 1);
printf("%d \n", fresult);
if (fresult != FR_OK) printf("Unsuccessful again\n");
else printf("Mounted successfully! \n");

f_getfree("", &fre_clust, &pfs);
total = (uint32_t)((pfs->n_fatent - 2) * pfs->csize * 0.5);
printf("Total size: 	%lu\n",total);
free_space = (uint32_t)(fre_clust * pfs->csize * 0.5);
printf("SD CARD free space: 	%lu\n", free_space);

CubeIDE配置详情

  • SPI配置:SPI配置图
  • FATFS配置:FATFS配置图
  • SPI引脚配置:SPI引脚配置图
  • CS引脚默认输出高电平:CS引脚配置图
  • 时钟配置:时钟配置图

使用的SD读卡器模块

SD读卡器模块图

已尝试的无效解决方法

  1. 更换SD读卡器模块
  2. 更换microSD卡
  3. 为MOSI和CS引脚启用内部上拉电阻(MISO和SCK无此选项)
  4. 设置CS引脚默认输出低电平
  5. 用示波器检测SCK信号,显示正常,排除硬件问题
  6. 修改f_mount的路径参数
  7. 将f_mount的初始化参数设为0(始终返回FR_OK,无实际帮助)
  8. 再次检查SPI连线(确认连接正确)

恳请各位提供技术帮助,万分感谢!

内容的提问来源于stack exchange,提问作者Nxyoutou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 23:51:19