microsd.h

Go to the documentation of this file.
00001 /**************************************************************************/
00017 #ifndef __MICROSD_H
00018 #define __MICROSD_H
00019 
00020 #include "em_device.h"
00021 #include "microsdconfig.h"
00022 #include "em_gpio.h"
00023 #include "integer.h"
00024 
00025 
00026 /***************************************************************************/
00031 /***************************************************************************/
00036 #ifdef __cplusplus
00037 extern "C" {
00038 #endif
00039 
00040 /* Definitions for MMC/SDC command */
00041 #define CMD0      (0)         
00042 #define CMD1      (1)         
00043 #define ACMD41    (41 | 0x80) 
00044 #define CMD8      (8)         
00045 #define CMD9      (9)         
00046 #define CMD10     (10)        
00047 #define CMD12     (12)        
00048 #define ACMD13    (13 | 0x80) 
00049 #define CMD16     (16)        
00050 #define CMD17     (17)        
00051 #define CMD18     (18)        
00052 #define CMD23     (23)        
00053 #define ACMD23    (23 | 0x80) 
00054 #define CMD24     (24)        
00055 #define CMD25     (25)        
00056 #define CMD41     (41)        
00057 #define CMD55     (55)        
00058 #define CMD58     (58)        
00061 void      MICROSD_Init(void);
00062 void      MICROSD_Deinit(void);
00063 
00064 int       MICROSD_Select(void);
00065 void      MICROSD_Deselect(void);
00066 
00067 void      MICROSD_PowerOn(void);
00068 void      MICROSD_PowerOff(void);
00069 
00070 int       MICROSD_BlockRx(uint8_t *buff, uint32_t btr);
00071 int       MICROSD_BlockTx(const uint8_t *buff, uint8_t token);
00072 
00073 uint8_t   MICROSD_SendCmd(uint8_t cmd, DWORD arg);
00074 uint8_t   MICROSD_XferSpi(uint8_t data);
00075 
00076 void      MICROSD_SpiClkFast(void);
00077 void      MICROSD_SpiClkSlow(void);
00078 
00079 bool      MICROSD_TimeOutElapsed(void);
00080 void      MICROSD_TimeOutSet(uint32_t msec);
00081 
00082 #ifdef __cplusplus
00083 }
00084 #endif
00085 
00089 #endif