/********************************************************************************************************************* ** 函数名称: uint8 SD_ReadOCR() Name: uint8 SD_ReadOCR() ** 功能描述: 读操作条件寄存器OCR Function: read OCR register of card ** 输 入: uint8 ocrlen : 寄存器长度(固定为4) Input: uint8 ocrlen : len of register (fixed,is 4) uint8 *recbuf : 接收缓冲区 uint8 *recbuf : recbuffer ** 输 出: 0: 正确 >0: 错误码 Output: 0: right >0: error code **********************************************************************************************************************/ uint8 SD_ReadOCR(uint8 ocrlen, uint8 *recbuf) { uint8 code param[4] = {0,0,0,0}; uint8 xdata resp[5]; uint8 xdata tmp;
tmp = SD_SendCmd(CMD58, param, CMD58_R, resp); /* 读 OCR 寄存器命令 */ if (tmp != SD_NO_ERR) /* read OCR register command */ return tmp; if (resp[0] != 0) return SD_ERR_CMD_RESP; /* 响应错误 response is error */ for (tmp = 0; tmp < 4; tmp++) recbuf[tmp] = resp[tmp + 1]; /* 复制OCR寄存器内容到接收缓冲区 */ return SD_NO_ERR; }
/**************************************************************** ** 函数名称: uint8 SD_ReadCard_Status() ** 功能描述: 读SD/MMC卡的 Card Status 寄存器 ** 输 入: uint8 len: 寄存器长度(固定为2) uint8 *recbuf : 接收缓冲区 ** 输 出: 0: 正确 >0: 错误码 *******************************************************************/ uint8 SD_ReadCard_Status(uint8 len, uint8 *buffer) { uint8 code param[4] = {0,0,0,0};
return (SD_SendCmd(CMD13, param, CMD13_R, buffer)); /* 读 Card Status 寄存器 */ }
其中的参数uint8 ocrlen、uint8 len在函数里都没有用到!!! 请问这是为什么啊!??? 如果要用的话,怎么操作?? 请周工指点!!!!!!!!! |