打印
[STM32F7]

stm32f7 1.7版本hal库sd卡停止命令无效

[复制链接]
1074|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qgyhd1234|  楼主 | 2017-7-8 21:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

sd卡信息可以读取出来,Card Type:CARD_SDHC_SDXC,卡标着32G,读出来29G多点,这个正常,用HAL_SD_ReadBlocks_DMA函数可以读取到数据,读取一次后,用HAL_SD_GetCardState函数获取到的sd卡状态一直是HAL_SD_CARD_TRANSFER               = ((uint32_t)0x00000004U),  /*!< Card is in transfer state               */  传输状态,用hal库提供的函数调试状态跟进去后发现在dma传输结束后调用了errorstate = SDMMC_CmdStopTransfer(hsd->Instance); 停止传输指令,返回成功,但是再次调用HAL_SD_GetCardState获取到的sd卡状态还是在传输状态。用Read Single Block command读一个block的命令,读完后用HAL_SD_GetCardState获取到的状态也是在传输状态
沙发
qgyhd1234|  楼主 | 2017-7-9 18:23 | 只看该作者
解决了,是我想当然了,看了下协议,传输完成后就是transfer状态而不是ready

使用特权

评论回复
板凳
pengchang1994| | 2017-8-3 14:37 | 只看该作者
感谢楼主一语惊醒梦中人。。刚接触SDMMC    也是在读完之后判断是否是READY后继续,始终等不到。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝