BeRTOS
|
00001 00039 #ifndef HW_SPI_H 00040 #define HW_SPI_H 00041 00042 #warning TODO:This is an example implentation, you must implement it! 00043 00044 #include <cfg/macros.h> 00045 00054 #define CS /* pin */ ///Connect to CS pin of Flash memory. 00055 #define SCK /* pin */ ///Connect to SCK pin of Flash memory. 00056 #define MOSI /* pin */ ///Connect to SI pin of Flash memory. 00057 #define MISO /* pin */ ///Connect to SO pin of Flash memory. 00058 #define SPI_PORT /* pin */ ///Micro pin PORT register. 00059 #define SPI_PIN /* pin */ ///Micro pin PIN register. 00060 #define SPI_DDR /* pin */ ///Micro pin DDR register. 00061 /*\}*/ 00062 00068 #define MOSI_LOW() do { /* Implement me! */ } while(0) 00069 #define MOSI_HIGH() do { /* Implement me! */ } while(0) 00070 #define MISO_HIGH() do { /* Implement me! */ } while(0) 00071 #define SCK_LOW() do { /* Implement me! */ } while(0) 00072 #define SCK_HIGH() do { /* Implement me! */ } while(0) 00073 #define CS_LOW() do { /* Implement me! */ } while(0) 00074 #define CS_HIGH() do { /* Implement me! */ } while(0) 00075 /*\}*/ 00076 00082 #define CS_ENABLE() CS_LOW() 00083 #define CS_DISABLE() CS_HIGH() 00084 #define SS_ACTIVE() CS_LOW() 00085 #define SS_INACTIVE() CS_HIGH() 00086 #define SCK_INACTIVE() SCK_LOW() 00087 #define SCK_ACTIVE() SCK_HIGH() 00088 #define CS_OUT() do { /* Implement me! */ } while(0) 00089 #define MOSI_IN() do { /* Implement me! */ } while(0) 00090 #define MOSI_OUT() do { /* Implement me! */ } while(0) 00091 #define IS_MISO_HIGH() (false /* Implement me! */ ) 00092 #define MISO_IN() do { /* Implement me! */ } while(0) 00093 #define MISO_OUT() do { /* Implement me! */ } while(0) 00094 #define SCK_OUT() do { /* Implement me! */ } while(0) 00095 00096 #define SCK_PULSE()\ 00097 do {\ 00098 SCK_HIGH();\ 00099 SCK_LOW();\ 00100 } while (0) 00101 /*\}*/ 00102 00103 00104 #define SPI_HW_INIT() \ 00105 CS_DISABLE();\ 00106 MOSI_LOW();\ 00107 SCK_LOW();\ 00108 MISO_IN();\ 00109 MOSI_OUT();\ 00110 SCK_OUT();\ 00111 CS_OUT(); 00112 00113 #endif /* HW_SPI_H */ 00114