33 #define SDH_ERR_ID 0xFFFF0100ul 35 #define SDH_TIMEOUT (SDH_ERR_ID|0x01ul) 36 #define SDH_NO_MEMORY (SDH_ERR_ID|0x02ul) 39 #define Successful 0ul 43 #define SDH_TYPE_UNKNOWN 0ul 44 #define SDH_TYPE_SD_HIGH 1ul 45 #define SDH_TYPE_SD_LOW 2ul 46 #define SDH_TYPE_MMC 3ul 47 #define SDH_TYPE_EMMC 4ul 50 #define SDH_NO_SD_CARD (SDH_ERR_ID|0x10ul) 51 #define SDH_ERR_DEVICE (SDH_ERR_ID|0x11ul) 52 #define SDH_INIT_TIMEOUT (SDH_ERR_ID|0x12ul) 53 #define SDH_SELECT_ERROR (SDH_ERR_ID|0x13ul) 54 #define SDH_WRITE_PROTECT (SDH_ERR_ID|0x14ul) 55 #define SDH_INIT_ERROR (SDH_ERR_ID|0x15ul) 56 #define SDH_CRC7_ERROR (SDH_ERR_ID|0x16ul) 57 #define SDH_CRC16_ERROR (SDH_ERR_ID|0x17ul) 58 #define SDH_CRC_ERROR (SDH_ERR_ID|0x18ul) 59 #define SDH_CMD8_ERROR (SDH_ERR_ID|0x19ul) 61 #define MMC_FREQ 20000ul 62 #define SD_FREQ 25000ul 63 #define SDHC_FREQ 50000ul 65 #define SD_PORT0 (1 << 0) 66 #define SD_PORT1 (1 << 2) 67 #define CardDetect_From_GPIO (1ul << 8) 68 #define CardDetect_From_DAT3 (1ul << 9) 111 #define SDH_ENABLE_INT(sdh, u32IntMask) ((sdh)->INTEN |= (u32IntMask)) 124 #define SDH_DISABLE_INT(sdh, u32IntMask) ((sdh)->INTEN &= ~(u32IntMask)) 142 #define SDH_GET_INT_FLAG(sdh, u32IntMask) (((sdh)->INTSTS & (u32IntMask))?1:0) 157 #define SDH_CLR_INT_FLAG(sdh, u32IntMask) ((sdh)->INTSTS = (u32IntMask)) 169 #define SDH_IS_CARD_PRESENT(sdh) (((sdh) == SDH0)? SD0.IsCardInsert : SD1.IsCardInsert) 179 #define SDH_GET_CARD_CAPACITY(sdh) (((sdh) == SDH0)? SD0.diskSize : SD1.diskSize) 184 uint32_t
SDH_Read(
SDH_T *sdh, uint8_t *pu8BufAddr, uint32_t u32StartSec, uint32_t u32SecCount);
185 uint32_t
SDH_Write(
SDH_T *sdh, uint8_t *pu8BufAddr, uint32_t u32StartSec, uint32_t u32SecCount);
unsigned char volatile DataReadyFlag
unsigned int totalSectorN
uint32_t SDH_Read(SDH_T *sdh, uint8_t *pu8BufAddr, uint32_t u32StartSec, uint32_t u32SecCount)
This function use to read data from SD card.
uint32_t SDH_Probe(SDH_T *sdh)
This function use to initial SD card.
void SDH_Open_Disk(SDH_T *sdh, uint32_t u32CardDetSrc)
uint32_t SDH_Write(SDH_T *sdh, uint8_t *pu8BufAddr, uint32_t u32StartSec, uint32_t u32SecCount)
This function use to write data to SD card.
unsigned char IsCardInsert
struct SDH_info_t SDH_INFO_T
void SDH_Open(SDH_T *sdh, uint32_t u32CardDetSrc)
This function use to reset SD function and select card detection source and pin.
uint32_t SDH_CardDetection(SDH_T *sdh)
void SDH_Close_Disk(SDH_T *sdh)