📄 sd_api.h
字号:
/*!
*@file sd_api.h
*
*
*
*@version v1.0.0
*@date 2007
*@author jacky291@126.com
*/
#ifndef __SD_API_H
#define __SD_API_H
#ifndef __CONFIG_H
#include "config.h"
#endif
#define SD_WAIT_ERASE_TIME 2000
#define SD_ERR_TIMEOUT_ERASE 253
#define SD_IDLE 0x01
#define SD_RST_TIMEOUT 255
#define SD_RST_TIME 2000
/*!
*@brief
* SD_ResetSD()
* reset sd card
*
*@param none
*@retval 0: right >0: error code
*/
extern uint8 SD_ResetSD(void);
/*!
*@brief
* SD_EnableCRC()
* enable crc check of SD Card
*
*@param bEnable : 1:enable 0: disable
*@retval 0: right >0: error code
*/
extern uint8 SD_EnableCRC(uint8 bEnable);
/*!
*@brief
* SD_Read_SD_Status()
* read SD_Status register of sd card
*
*@param sdslen: len of register (fixed,is 64)
*@param recbuf: recbuffer
*@retval 0: right >0: error code
*/
extern uint8 SD_ReadSD_Status(uint8 sdslen, uint8 *recbuf);
/*!
*@brief
* SD_ReadCard_Status()
* read Card Status register of sd card
*
*@param len:len of register (fixed,is 2)
*@param *recbuf : recbuffer
*@retval 0: right >0: error code
*/
extern uint8 SD_ReadCard_Status(uint8 len, uint8 *buffer);
/*!
*@brief
* SD_ReadCSD()
* command that read CSD register
*
*@param none
*@retval error: SD_ERR_CMD_RESP,or return the read value.
*/
extern uint8 SD_ReadCSD(uint8 csdlen, uint8 *recbuf);
/*!
*@brief
* SD_ReadCID()
* read CID register of sd card
*
*@param cidlen : len of register (fixed,is 16)
*@param recbuf : recbuffer
*@retval 0: right >0: error code
*/
extern uint8 SD_ReadCID(uint8 len, uint8 *recbuf);
/*!
*@brief
* SD_ProgramCSD()
* write CSD register
*
*@param *buff: the content of CSD register
*@param len : the length of CSD register
*@retval 0: right >0: error code
*/
extern uint8 SD_ProgramCSD(uint8 len, uint8 *buff);
/*!
*@brief
* SD_ReadOCR()
* read OCR register of sd card
*
*@param ocrlen : len of register (fixed,is 4)
*@param *recbuf : recbuffer
*@retval 0: right >0: error code
*/
extern uint8 SD_ReadOCR(uint8 ocrlen, uint8 *recbuf);
/*!
*@brief
* SD_ReadSCR()
* read SCR register of sd card
*
*@param scrlen : len of register (fixed,is 8)
*@param *recbuf : recbuffer
*@retval 0: right >0: error code
*/
extern uint8 SD_ReadSCR(uint8 scrlen, uint8 *recbuf);
/*!
*@brief
* SD_StopTransmission()
* stop data transmission
*
*@param none
*@retval 0: right >0: error code
*/
extern uint8 SD_StopTransmission(void);
/*!
*@brief
* Sd_SetBlockLen()
* set a block len of sd card
*
*@param length : the length of a block
*@retval 0: right >0: error code
*/
extern uint8 SD_SetBlockLen(uint32 length);
/*!
*@brief
* SD_ReadSingleBlock()
* read single block command
*
*@param blockaddr: block address
*@retval 0: right >0: error code
*/
extern uint8 SD_ReadSingleBlock(uint32 blockaddr);
/*!
*@brief
* SD_ReadMultipleBlock()
* read multiple block command
*
*@param blockaddr: block address
*@retval 0: right >0: error code
*/
extern uint8 SD_ReadMultipleBlock(uint32 blockaddr);
/*!
*@brief
* SD_WriteSingleBlock()
* write single block command
*
*@param blockaddr: block address
*@retval 0: right >0: error code
*/
extern uint8 SD_WriteSingleBlock(uint32 blockaddr);
/*!
*@brief
* SD_WriteMultipleBlock()
* write multiple block command
*
*@param blockaddr: block address
*@retval 0: right >0: error code
*/
extern uint8 SD_WriteMultipleBlock(uint32 blockaddr);
/*!
*@brief
* SD_GetNumWRBlcoks()
* get the block numbers that written correctly
*
*@param blocknum : the block numbers returned
*@retval 0: right >0: error code
*/
extern uint8 SD_GetNumWRBlcoks(uint32 *blocknum);
/*!
*@brief
* SD_EraseStartBlock()
* select the start block address of erasing operation
*
*@param *pSource: data
*@param startblock : block address
*@retval 0: right >0: error code
*/
extern uint8 SD_EraseStartBlock(uint32 startblock);
/*!
*@brief
* SD_EraseEndBlock()
* select the end block address of erasing operation
*
*@param Length : block address
*@retval 0: right >0: error code
*/
extern uint8 SD_EraseEndBlock(uint32 endblock);
/*!
*@brief
* SD_EraseSelectedBlock()
* erase block selected
*
*@param none
*@retval 0: right >0: error code
*/
extern uint8 SD_EraseSelectedBlock(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -