SDIO驱动sd卡,检查R1相应错误状态函数最后一句没看懂

2019-07-20 12:37发布

F407例程中,库函数版本,发送完cmd55后接收r1响应,接收r1响应函数最后一句 return (SD_Error)(SDIO->RESP1&SD_OCR_ERRORBITS);    r1响应,SDIO->RESP1中保存的是卡状态,为什么要按位与SD_OCR_ERRORBITS  ?SD_OCR_ERRORBITS  定义的很奇怪啊,#define SD_OCR_ERRORBITS                ((u32)0xFDFFE008)
卡状态为什么要与上一个这么奇怪的数然后再返回?还有就是卡状态寄存器SDIO->RESP1每一位的定义到底是什么?求大神解答,谢谢了~
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
正点原子
1楼-- · 2019-07-20 15:13
看SD卡2.0协议,R1响应,每个位代表什么意思。 注意:看SDIO的,不要看SPI的。   RESP1就是响应寄存器的低三十二位,RESP2就是高32位,RESP3就是更高的32位。。。以此类推
jinggx
2楼-- · 2019-07-20 16:17
 精彩回答 2  元偷偷看……
天涯歌戮
3楼-- · 2019-07-20 18:44
jinggx 发表于 2016-8-30 21:48
看看sd ocr的定义就明白了

R1响应怎么会返回ocr寄存器,那是r3响应干的事儿,r1响应返回的是卡状态,r3响应返回的是ocr是操作条件寄存器,两个根本不是一回事儿吧……
天涯歌戮
4楼-- · 2019-07-20 22:56
正点原子 发表于 2016-8-30 18:29
看SD卡2.0协议,R1响应,每个位代表什么意思。 注意:看SDIO的,不要看SPI的。   RESP1就是响应寄存器的低 ...

多谢原子哥指点~这下彻底明白了,谢谢~
peng1554
5楼-- · 2019-07-21 03:30
 精彩回答 2  元偷偷看……
peng1554
6楼-- · 2019-07-21 03:40
卡状态寄存器

一周热门 更多>