NIIETCM4 PD  v0.10.5
Драйвер периферии для микроконтроллеров на базе ядра ARM Cortex-M4
 Указатель Структуры данных Файлы Функции Переменные Перечисления Элементы перечислений Группы Страницы
niietcm4.h
См. документацию.
1 
40 #ifndef __NIIETCM4_H
41 #define __NIIETCM4_H
42 
43 #ifdef __cplusplus
44  extern "C" {
45 #endif
46 
51 #if defined (K1921VK01T)
52  #include "K1921VK01T.h"
53 /* Совет: Чтобы избежать необходимости каждый раз изменять этот файл,
54  * можно передать определение устройства компилятору через ключ.
55  * Например, для GCC ARM это выглядит так:
56  * -DK1921VK01T
57  */
58 
59 #else
60  #error "Не указано целевое устройство (файл niietcm4.h)"
61 #endif
62 
72 #if !defined EXT_OSC_VALUE
73  #define EXT_OSC_VALUE ((uint32_t)12000000)
74 #endif /* EXT_OSC_VALUE */
75 
82 #if defined (K1921VK01T)
83  #if !defined INT_OSC_VALUE
84  #define INT_OSC_VALUE ((uint32_t)5000000)
85  #endif
86 #else
87  #if !defined INT_OSC_VALUE
88  #define INT_OSC_VALUE ((uint32_t)8000000)
89  #endif /* INT_OSC_VALUE */
90 #endif
91 
102 #if defined (__ICCARM__)
103  #define __RAMFUNC __ramfunc
104 #elif defined (__CMCARM__)
105  #define __RAMFUNC __ramfunc
106 #elif defined (__CC_ARM)
107  #define __RAMFUNC
108 #elif defined (__GNUC__)
109  #define __RAMFUNC __attribute__((long_call, section(".ramfunc")))
110 #else
111  #error "Нет реализации под данный компилятор"
112 #endif
113 
118 #define SET_BIT(REG, BIT) ((REG) |= (BIT))
119 
124 #define CLEAR_BIT(REG, BIT) ((REG) &= ~(BIT))
125 
130 #define READ_BIT(REG, BIT) ((REG) & (BIT))
131 
136 #define CLEAR_REG(REG) ((REG) = (0x0))
137 
142 #define WRITE_REG(REG, VAL) ((REG) = (VAL))
143 
148 #define READ_REG(REG) ((REG))
149 
154 #define MODIFY_REG(REG, CLEARMASK, SETMASK) WRITE_REG((REG), (((READ_REG(REG)) & (~(CLEARMASK))) | (SETMASK)))
155 
169 typedef enum
170 {
171  DISABLE = 0,
172  ENABLE = 1
174 
179 #define IS_FUNCTIONAL_STATE(STATE) (((STATE) == DISABLE) || ((STATE) == ENABLE))
180 
185 typedef enum
186 {
187  OK = 0,
188  ERROR = 1
190 
195 typedef enum
196 {
197  Flag_CLEAR = 0,
198  Flag_SET = 1
199 }FlagStatus;
200 
205 #define IS_TIMER_ALL_PERIPH(PERIPH) (((PERIPH) == NT_TIMER0) || \
206  ((PERIPH) == NT_TIMER1) || \
207  ((PERIPH) == NT_TIMER2))
208 
213 #define IS_GPIO_ALL_PERIPH(PERIPH) (((PERIPH) == NT_GPIOA) || \
214  ((PERIPH) == NT_GPIOB) || \
215  ((PERIPH) == NT_GPIOC) || \
216  ((PERIPH) == NT_GPIOD) || \
217  ((PERIPH) == NT_GPIOE) || \
218  ((PERIPH) == NT_GPIOF) || \
219  ((PERIPH) == NT_GPIOG) || \
220  ((PERIPH) == NT_GPIOH))
221 
226 #define IS_UART_ALL_PERIPH(PERIPH) (((PERIPH) == NT_UART0) || \
227  ((PERIPH) == NT_UART1) || \
228  ((PERIPH) == NT_UART2) || \
229  ((PERIPH) == NT_UART3))
230 
235 #define IS_SPI_ALL_PERIPH(PERIPH) (((PERIPH) == NT_SPI0) || \
236  ((PERIPH) == NT_SPI1) || \
237  ((PERIPH) == NT_SPI2) || \
238  ((PERIPH) == NT_SPI3))
239 
244 #define IS_CAP_ALL_PERIPH(PERIPH) (((PERIPH) == NT_CAP0) || \
245  ((PERIPH) == NT_CAP1) || \
246  ((PERIPH) == NT_CAP2) || \
247  ((PERIPH) == NT_CAP3) || \
248  ((PERIPH) == NT_CAP4) || \
249  ((PERIPH) == NT_CAP5))
250 
255 #define IS_PWM_ALL_PERIPH(PERIPH) (((PERIPH) == NT_PWM0) || \
256  ((PERIPH) == NT_PWM1) || \
257  ((PERIPH) == NT_PWM2) || \
258  ((PERIPH) == NT_PWM3) || \
259  ((PERIPH) == NT_PWM4) || \
260  ((PERIPH) == NT_PWM5) || \
261  ((PERIPH) == NT_PWM6) || \
262  ((PERIPH) == NT_PWM7) || \
263  ((PERIPH) == NT_PWM8))
264 
269  #define IS_PWM_HR_ALL_PERIPH(PERIPH) (((PERIPH) == NT_PWM0) || \
270  ((PERIPH) == NT_PWM1) || \
271  ((PERIPH) == NT_PWM2) || \
272  ((PERIPH) == NT_PWM3) || \
273  ((PERIPH) == NT_PWM4) || \
274  ((PERIPH) == NT_PWM5))
275 
284 #include "niietcm4_conf.h"
285 
298 #ifdef __cplusplus
299 }
300 #endif
301 
302 #endif /* __NIIETCM4_H */
303 
308 /******************* (C) COPYRIGHT 2015 NIIET *****END OF FILE****/
OperationStatus
Описывает коды возврата для функций при выполнении какой-либо операции.
Definition: niietcm4.h:185
FlagStatus
Описывает возможные состояния флага при запросе его статуса.
Definition: niietcm4.h:195
FunctionalState
Описывает логическое состояние периферии. Используется для операций включения/выключения периферийных...
Definition: niietcm4.h:169
Файл конфигурации драйвера.