SD卡例程初始化问题

2019-07-25 11:38发布

圈中的SD_SendCmd这个函数返回值不是8位的吗? 而且又是发送CMD58命令  那么OCR的值的最后一个字节(8位)会直接是SD_SendCmd的返回值。那么你下面for(i=0;i<4;i++)buf=SD_SPI_ReadWriteByte(0XFF);//得到OCR值这语句怎么还可能读出ocr的值呢?只能读出ocr剩下24位的值了(因为后8位被作为SD_SendCmd的返回值了)。由于CCS位在最后一个字节中(做为SD_SendCmd的返回值了,却没用变量接收),那么便读不了了 在那么红 {MOD}的那个语句还有什么意义呢?
捕获1.PNG
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
正点原子
1楼-- · 2019-07-25 16:07
SD_SendCmd返回值,和命令参数返回值,你得搞懂。OCR寄存器是32位的!
15767909146
2楼-- · 2019-07-25 20:47
正点原子 发表于 2017-11-10 23:44
SD_SendCmd返回值,和命令参数返回值,你得搞懂。OCR寄存器是32位的!

原子哥 你好 我觉得SD_SendCmd(cmd58)返回的应该是R3   那么不就是OCR中8位的值吗?

一周热门 更多>