新手入门
- 积分
- 16
- 金钱
- 16
- 注册时间
- 2018-11-26
- 在线时间
- 3 小时
|
1金钱
本帖最后由 renwatcher 于 2018-12-2 20:20 编辑
芯片型号:STM32F767IG
开发工具: uVision V5.15进行实验40 SD卡实验时没有问题,可以读取卡的容量,但在
进行 42 FATFS实验时,
在main主函数中执行到 f_mount(fs[0],"0:",1); 时卡死,进一步探索底层,真正原因是卡死到
函数HAL_SD_ReadBlocks中的这条语句
if (__HAL_SD_SDMMC_GET_FLAG(hsd, SDMMC_FLAG_RXFIFOHF))
while(!__HAL_SD_SDMMC_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT | SDMMC_FLAG_DBCKEND))
{
if (__HAL_SD_SDMMC_GET_FLAG(hsd, SDMMC_FLAG_RXFIFOHF))/****************/
{
/* Read data from SDMMC Rx FIFO */
for (count = 0; count < 8; count++)
{
*(tempbuff + count) = SDMMC_ReadFIFO(hsd->Instance);
}
tempbuff += 8;
}
}
|
|