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配置:

- FATFS配置:

- SPI引脚配置:

- CS引脚默认输出高电平:

- 时钟配置:

使用的SD读卡器模块

已尝试的无效解决方法
- 更换SD读卡器模块
- 更换microSD卡
- 为MOSI和CS引脚启用内部上拉电阻(MISO和SCK无此选项)
- 设置CS引脚默认输出低电平
- 用示波器检测SCK信号,显示正常,排除硬件问题
- 修改
f_mount的路径参数 - 将
f_mount的初始化参数设为0(始终返回FR_OK,无实际帮助) - 再次检查SPI连线(确认连接正确)
恳请各位提供技术帮助,万分感谢!
内容的提问来源于stack exchange,提问作者Nxyoutou
相关产品推荐
相关产品推荐

