NIIETCM4 PD  v0.8.0
Драйвер периферии для микроконтроллеров на базе ядра ARM Cortex-M4
niietcm4_extmem.h
См. документацию.
1 
29 /* Define to prevent recursive inclusion -------------------------------------*/
30 #ifndef __NIIETCM4_EXTMEM_H
31 #define __NIIETCM4_EXTMEM_H
32 
33 #ifdef __cplusplus
34  extern "C" {
35 #endif
36 
37 /* Includes ------------------------------------------------------------------*/
38 #include "niietcm4.h"
39 
56 #define EXTMEM_CEMask_Addr_11 ((uint32_t)0x0001)
57 #define EXTMEM_CEMask_Addr_12 ((uint32_t)0x0002)
58 #define EXTMEM_CEMask_Addr_13 ((uint32_t)0x0004)
59 #define EXTMEM_CEMask_Addr_14 ((uint32_t)0x0008)
60 #define EXTMEM_CEMask_Addr_15 ((uint32_t)0x0010)
61 #define EXTMEM_CEMask_Addr_16 ((uint32_t)0x0020)
62 #define EXTMEM_CEMask_Addr_17 ((uint32_t)0x0040)
63 #define EXTMEM_CEMask_Addr_18 ((uint32_t)0x0080)
64 #define EXTMEM_CEMask_Addr_19 ((uint32_t)0x0100)
65 #define EXTMEM_CEMask_Addr_11_19 ((uint32_t)0x01FF)
71 #define IS_EXTMEM_CE_MASK(CE_MASK) (((CE_MASK) & ((uint32_t)0xFFFFFE00)) == ((uint32_t)0x00))
72 
89 typedef enum
90 {
94 
99 #define IS_EXTMEM_WIDTH(WIDTH) (((WIDTH) == EXTMEM_Width_8bit) || \
100  ((WIDTH) == EXTMEM_Width_16bit))
101 
106 typedef enum
107 {
117 
122 #define IS_EXTMEM_RW_WAITSTATE(WAITSTATE) (((WAITSTATE) == EXTMEM_RWWaitState_1) || \
123  ((WAITSTATE) == EXTMEM_RWWaitState_2) || \
124  ((WAITSTATE) == EXTMEM_RWWaitState_3) || \
125  ((WAITSTATE) == EXTMEM_RWWaitState_4) || \
126  ((WAITSTATE) == EXTMEM_RWWaitState_5) || \
127  ((WAITSTATE) == EXTMEM_RWWaitState_6) || \
128  ((WAITSTATE) == EXTMEM_RWWaitState_7) || \
129  ((WAITSTATE) == EXTMEM_RWWaitState_8))
130 
135 typedef enum
136 {
146 
151 #define IS_EXTMEM_WRITE_WAITSTATE(WAITSTATE) (((WAITSTATE) == EXTMEM_WriteWaitState_1) || \
152  ((WAITSTATE) == EXTMEM_WriteWaitState_2) || \
153  ((WAITSTATE) == EXTMEM_WriteWaitState_3) || \
154  ((WAITSTATE) == EXTMEM_WriteWaitState_4) || \
155  ((WAITSTATE) == EXTMEM_WriteWaitState_5) || \
156  ((WAITSTATE) == EXTMEM_WriteWaitState_6) || \
157  ((WAITSTATE) == EXTMEM_WriteWaitState_7) || \
158  ((WAITSTATE) == EXTMEM_WriteWaitState_8))
159 
164 typedef enum
165 {
175 
180 #define IS_EXTMEM_READ_WAITSTATE(WAITSTATE) (((WAITSTATE) == EXTMEM_ReadWaitState_1) || \
181  ((WAITSTATE) == EXTMEM_ReadWaitState_2) || \
182  ((WAITSTATE) == EXTMEM_ReadWaitState_3) || \
183  ((WAITSTATE) == EXTMEM_ReadWaitState_4) || \
184  ((WAITSTATE) == EXTMEM_ReadWaitState_5) || \
185  ((WAITSTATE) == EXTMEM_ReadWaitState_6) || \
186  ((WAITSTATE) == EXTMEM_ReadWaitState_7) || \
187  ((WAITSTATE) == EXTMEM_ReadWaitState_8))
188 
193 typedef struct
194 {
203  uint32_t CEMask;
206 
215 void EXTMEM_DeInit();
216 void EXTMEM_Init(EXTMEM_Init_TypeDef* EXTMEM_InitStruct);
217 void EXTMEM_StructInit(EXTMEM_Init_TypeDef* EXTMEM_InitStruct);
218 
223 #ifdef __cplusplus
224 }
225 #endif
226 
227 #endif /* __NIIETCM4_EXTMEM_H */
228 
237 /******************* (C) COPYRIGHT 2015 NIIET *****END OF FILE****/
EXTMEM_ReadWaitState_TypeDef EXTMEM_ReadWaitState
EXTMEM_ReadWaitState_TypeDef
Длительность цикла чтения слова данных в системных тактах.
void EXTMEM_Init(EXTMEM_Init_TypeDef *EXTMEM_InitStruct)
Инициализирует внешнюю память согласно параметрам структуры EXTMEM_InitStruct.
EXTMEM_RWWaitState_TypeDef
Длительность цикла переключения шины в системных тактах.
void EXTMEM_StructInit(EXTMEM_Init_TypeDef *EXTMEM_InitStruct)
Заполнение каждого члена структуры EXTMEM_InitStruct значениями по умолчанию.
EXTMEM_WriteWaitState_TypeDef
Длительность цикла записи слова данных в системных тактах.
EXTMEM_RWWaitState_TypeDef EXTMEM_RWWaitState
Это главный заголовочный файл драйвера, обычно включаемый в main.c.
EXTMEM_Width_TypeDef
Разрядность контроллера внешней памяти.
EXTMEM_WriteWaitState_TypeDef EXTMEM_WriteWaitState
void EXTMEM_DeInit()
Устанавливает все регистры контроллера внешней памяти значениями по умолчанию.
EXTMEM_Width_TypeDef EXTMEM_Width
Структура инициализации внешней памяти.