microsd.h

Go to the documentation of this file.
00001 /**************************************************************************/
00035 #ifndef __MICROSD_H
00036 #define __MICROSD_H
00037 
00038 #include "em_device.h"
00039 #include "microsdconfig.h"
00040 #include "em_gpio.h"
00041 #include "integer.h"
00042 
00043 
00044 /***************************************************************************/
00049 /***************************************************************************/
00054 #ifdef __cplusplus
00055 extern "C" {
00056 #endif
00057 
00058 /* Definitions for MMC/SDC command */
00059 #define CMD0      (0)         
00060 #define CMD1      (1)         
00061 #define ACMD41    (41 | 0x80) 
00062 #define CMD8      (8)         
00063 #define CMD9      (9)         
00064 #define CMD10     (10)        
00065 #define CMD12     (12)        
00066 #define ACMD13    (13 | 0x80) 
00067 #define CMD16     (16)        
00068 #define CMD17     (17)        
00069 #define CMD18     (18)        
00070 #define CMD23     (23)        
00071 #define ACMD23    (23 | 0x80) 
00072 #define CMD24     (24)        
00073 #define CMD25     (25)        
00074 #define CMD41     (41)        
00075 #define CMD55     (55)        
00076 #define CMD58     (58)        
00079 void      MICROSD_Init(void);
00080 void      MICROSD_Deinit(void);
00081 
00082 int       MICROSD_Select(void);
00083 void      MICROSD_Deselect(void);
00084 
00085 void      MICROSD_PowerOn(void);
00086 void      MICROSD_PowerOff(void);
00087 
00088 int       MICROSD_BlockRx(uint8_t *buff, uint32_t btr);
00089 int       MICROSD_BlockTx(const uint8_t *buff, uint8_t token);
00090 
00091 uint8_t   MICROSD_SendCmd(uint8_t cmd, DWORD arg);
00092 uint8_t   MICROSD_XferSpi(uint8_t data);
00093 
00094 void      MICROSD_SpiClkFast(void);
00095 void      MICROSD_SpiClkSlow(void);
00096 
00097 bool      MICROSD_TimeOutElapsed(void);
00098 void      MICROSD_TimeOutSet(uint32_t msec);
00099 
00100 #ifdef __cplusplus
00101 }
00102 #endif
00103 
00107 #endif