0,0 → 1,54 |
#ifndef _SDC_H |
#define _SDC_H |
|
|
//________________________________________________________________________________________________________________________________________ |
// |
// Functions needed for accessing the sdcard. |
// |
//________________________________________________________________________________________________________________________________________ |
|
typedef enum |
{ |
SD_SUCCESS = 0, |
SD_ERROR_NOCARD, |
SD_ERROR_RESET, |
SD_ERROR_INITIALIZE, |
SD_ERROR_BAD_RESPONSE, |
SD_ERROR_BAD_VOLTAGE_RANGE, |
SD_ERROR_NO_SDCARD, |
SD_ERROR_TIMEOUT, |
SD_ERROR_CRC_DATA, |
SD_ERROR_WRITE_DATA, |
SD_ERROR_READ_DATA, |
SD_ERROR_SET_BLOCKLEN, |
SD_ERROR_UNKNOWN |
} SD_Result_t; |
|
SD_Result_t SDC_Init(unsigned char print); |
SD_Result_t SDC_GetSector (u32 ,u8 *); |
SD_Result_t SDC_PutSector (u32, const u8 *); |
SD_Result_t SDC_Deinit(void); |
|
typedef enum |
{ |
VER_UNKNOWN, |
VER_1X, |
VER_20 |
} SDVersion_t; |
|
typedef struct |
{ |
u8 Valid; |
SDVersion_t Version; // HW-Version |
u32 Capacity; // Memory capacity in bytes |
u8 CID[16]; // CID register |
u8 CSD[16]; // CSD register |
} __attribute__((packed)) SDCardInfo_t; |
|
extern volatile SDCardInfo_t SDCardInfo; |
extern u8 SDCardWriteRetryCounterMax; |
|
#endif // _SDC_H |
|
|