[STM32F1] 与TF 卡 SDIO 通信报错:HAL_SD_ERROR_REQUEST_NOT_APPLICABLE

[复制链接]
36|16
地瓜patch 发表于 2026-5-20 12:44 | 显示全部楼层 |阅读模式
主控芯片用的是STM32F103RCT6与TF卡通过SDIO 通信。
调用函数f_mkfs((TCHAR const*)SDPath, 0, 0)或f_open(&SDFile, "STM32.TXT", FA_CREATE_ALWAYS | FA_WRITE|FA_READ)
时触发错误:
[ff.c 4170] ---->stat = disk_initialize(pdrv);

[diskio.c 99] ---->stat = disk.drv[pdrv]->disk_initialize(disk.lun[pdrv]);

[sd_diskio.c 94] ---->if (BSP_SD_Init()==MSD_OK)

[bsp_driver_sd.c 62] ----> HAL_SD_ConfigWideBusOperation (&hsd,SDIO_BUS_WIDE_4B)

[stm32faXX_hal_sd.c 2204]---->errorstate = SD_WideBus_Enable(hsd);

[stm32faXX_hal_sd.c 2979]---->return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE;

errorstate = HAL_SD_ERROR_REQUEST_NOT_APPLICABLE

breakpoint Get::scr[1U]=0x00;

[stm32faXX_hal_sd.c 2959]----> if((scr[1U] & SDMMC_WIDE_BUS_SUPPORT) != SDMMC_ALLZERO)



在海边聆听 发表于 2026-5-21 17:17 | 显示全部楼层
scr[1U]读取为0说明SDIO_GetCardSpecificData函数执行失败
elephant00 发表于 2026-5-21 17:18 | 显示全部楼层
尝试强制使用1位总线模式跳过宽总线配置步骤
七毛钱 发表于 2026-5-21 17:31 | 显示全部楼层
同一个卡在另一开发板或SPI模式下能否正常读写
onlycook 发表于 2026-5-21 17:49 | 显示全部楼层
先将卡片格式化为FAT32再调用f_mkfs可能会绕过SCR读取问题
今天会画卧蚕吗 发表于 2026-5-21 18:11 | 显示全部楼层
电源去耦不良可能导致SCR返回数据高位被拉低
classroom 发表于 2026-5-21 18:17 | 显示全部楼层
卡不支持4位总线模式但仍尝试配置导致错误码返回
powerantone 发表于 2026-5-21 18:50 | 显示全部楼层
示波器测量CLK和CMD信号在SCR命令阶段是否有正确回应
cr315 发表于 2026-5-21 19:18 | 显示全部楼层
检查初始化时是否先成功执行了SDIO 1位模式下的卡识别流程
probedog 发表于 2026-5-21 19:59 | 显示全部楼层
降低SDIO初始化时钟频率到400kHz以下再尝试读取SCR
duo点 发表于 2026-5-21 20:18 | 显示全部楼层
SDMMC_WIDE_BUS_SUPPORT宏定义的具体位值可能与实际卡SCR寄存器定义不符
solty 发表于 2026-5-21 20:59 | 显示全部楼层
部分低速或旧卡不支持4位SDIO模式但会错误响应SCR全零
flycamelaaa 发表于 2026-5-21 21:19 | 显示全部楼层
TF卡在SDIO接口上需要上拉电阻尤其是CMD和数据线
spicy 发表于 2026-5-21 21:50 | 显示全部楼层
增加重试机制在SCR读取失败后重新发送CMD55和ACMD51
jcky001 发表于 2026-5-21 22:19 | 显示全部楼层
检查STM32F103的SDIO硬件版本是否支持该TF卡的协议版本
内政奇才 发表于 2026-5-21 22:24 | 显示全部楼层
查看scr[0]是否为非零而scr[1]为零排除部分位损坏的可能
stormwind123 发表于 2026-5-21 22:55 | 显示全部楼层
检查BSP_SD_Init中的卡片上电时序是否满足最小74个时钟周期
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:出一块TI-PLABS-AMP-EVM

2715

主题

17351

帖子

30

粉丝
快速回复 在线客服 返回列表 返回顶部
0