测试 M480_BSP_CMSIS_V3.03.000 里的
M480_BSP_CMSIS_V3.03.000\SampleCode\StdDriver\SDH_FATFS\
例程.
卡初始化时已经成功, 信息都正确. TF 高速卡, 8G/32G 都正常识别.
但输入命令后, 每次都卡在
M480_BSP_CMSIS_V3.03.000\Library\StdDriver\src\sdh.c
第130行:
while ((sdh->CTL & SDH_CTL_RIEN_Msk) == SDH_CTL_RIEN_Msk)
{
if (pSD->IsCardInsert == FALSE)
{
return SDH_NO_SD_CARD;
}
}
手册上描述该位的说明:
RIEN 响应输入使能位
0 = 没效果 (请通过 DMARST (SDH_CTL [0]) 清这一位)
1 = 使能, SD 主机等待从SD卡接收响应
注意: 操作结束后,此位自动清0,不要写0到这个寄存器,否则控制器会工作不正常
折腾一天都没整明白怎么回事, 觉得是SD时钟太高, SDHC 卡最终给出的频率是 50MHz, 这是SD控制器跟TF卡通讯后根据卡类型自动配置的. 后改为20MHz/10MHz/5MHz 都不行.
有人测试通过了吗? 能不能分享下经验. |