NIIETCM4 PD  v0.9.0
Драйвер периферии для микроконтроллеров на базе ядра ARM Cortex-M4
niietcm4_cap.h
См. документацию.
1 
29 /* Define to prevent recursive inclusion -------------------------------------*/
30 #ifndef __NIIETCM4_CAP_H
31 #define __NIIETCM4_CAP_H
32 
33 #ifdef __cplusplus
34  extern "C" {
35 #endif
36 
37 /* Includes ------------------------------------------------------------------*/
38 #include "niietcm4.h"
39 
56 typedef enum
57 {
61 
66 #define IS_CAP_CAPTURE_POLARITY(CAPTURE_POLARITY) (((CAPTURE_POLARITY) == CAP_Capture_Polarity_PosEdge) || \
67  ((CAPTURE_POLARITY) == CAP_Capture_Polarity_NegEdge))
68 
73 typedef enum
74 {
79 
84 #define IS_CAP_HALT(HALT) (((HALT) == CAP_Halt_Stop) || \
85  ((HALT) == CAP_Halt_StopOnZero) || \
86  ((HALT) == CAP_Halt_Free))
87 
92 typedef enum
93 {
98 
103 #define IS_CAP_SYNC_OUT(SYNC_OUT) (((SYNC_OUT) == CAP_SyncOut_Bypass) || \
104  ((SYNC_OUT) == CAP_SyncOut_TimerEqPeriod) || \
105  ((SYNC_OUT) == CAP_SyncOut_Disable))
106 
111 typedef enum
112 {
116 
121 #define IS_CAP_CAPTURE_MODE(CAPTURE_MODE) (((CAPTURE_MODE) == CAP_Capture_Mode_Single) || \
122  ((CAPTURE_MODE) == CAP_Capture_Mode_Cycle))
123 
128 typedef enum
129 {
133 
138 #define IS_CAP_PWM_POLARITY(PWM_POLARITY) (((PWM_POLARITY) == CAP_PWM_Polarity_Pos) || \
139  ((PWM_POLARITY) == CAP_PWM_Polarity_Neg))
140 
145 typedef enum
146 {
150 
155 #define IS_CAP_MODE(MODE) (((MODE) == CAP_Mode_Capture) || \
156  ((MODE) == CAP_Mode_PWM))
157 
162 typedef struct
163 {
173 
178 typedef struct
179 {
203 
208 #define IS_CAP_CAPTURE_PRESCALE(PRESCALE) ((PRESCALE) < ((uint32_t)0x40))
209 
215 #define IS_CAP_CAPTURE_STOP_VAL(STOP_VAL) ((STOP_VAL) < ((uint32_t)4))
216 
221 typedef struct
222 {
223  uint32_t CAP_PWM_Period;
225  uint32_t CAP_PWM_Compare;
230 
231 
244 #define CAP_ITSource_GeneralInt ((uint32_t)0x01)
245 #define CAP_ITSource_CapEvent0 ((uint32_t)0x02)
246 #define CAP_ITSource_CapEvent1 ((uint32_t)0x04)
247 #define CAP_ITSource_CapEvent2 ((uint32_t)0x08)
248 #define CAP_ITSource_CapEvent3 ((uint32_t)0x10)
249 #define CAP_ITSource_TimerOvf ((uint32_t)0x20)
250 #define CAP_ITSource_TimerEqPeriod ((uint32_t)0x40)
251 #define CAP_ITSource_TimerEqCompare ((uint32_t)0x80)
252 #define CAP_ITSource_All ((uint32_t)0xFF)
258 #define IS_CAP_IT_SOURCE(IT_SOURCE) (((IT_SOURCE) & ~CAP_ITSource_All) == 0)
259 
276 void CAP_DeInit(NT_CAP_TypeDef* CAPx);
277 void CAP_Init(NT_CAP_TypeDef* CAPx, CAP_Init_TypeDef* CAP_InitStruct);
278 void CAP_StructInit(CAP_Init_TypeDef* CAP_InitStruct);
279 void CAP_TimerCmd(NT_CAP_TypeDef* CAPx, FunctionalState State);
280 void CAP_SetTimer(NT_CAP_TypeDef* CAPx, uint32_t TimerVal);
281 void CAP_SetShadowTimer(NT_CAP_TypeDef* CAPx, uint32_t TimerVal);
282 uint32_t CAP_GetTimer(NT_CAP_TypeDef* CAPx);
283 uint32_t CAP_GetShadowTimer(NT_CAP_TypeDef* CAPx);
284 void CAP_SyncCmd(NT_CAP_TypeDef* CAPx, FunctionalState State);
285 void CAP_SwSync(NT_CAP_TypeDef* CAPx);
286 
295 void CAP_PWM_Init(NT_CAP_TypeDef* CAPx, CAP_PWM_Init_TypeDef* CAP_PWM_InitStruct);
296 void CAP_PWM_StructInit(CAP_PWM_Init_TypeDef* CAP_PWM_InitStruct);
297 void CAP_PWM_SetPeriod(NT_CAP_TypeDef* CAPx, uint32_t PeriodVal);
298 void CAP_PWM_SetCompare(NT_CAP_TypeDef* CAPx, uint32_t CompareVal);
299 void CAP_PWM_SetShadowPeriod(NT_CAP_TypeDef* CAPx, uint32_t PeriodVal);
300 void CAP_PWM_SetShadowCompare(NT_CAP_TypeDef* CAPx, uint32_t CompareVal);
301 uint32_t CAP_PWM_GetPeriod(NT_CAP_TypeDef* CAPx);
302 uint32_t CAP_PWM_GetCompare(NT_CAP_TypeDef* CAPx);
303 uint32_t CAP_PWM_GetShadowPeriod(NT_CAP_TypeDef* CAPx);
304 uint32_t CAP_PWM_GetShadowCompare(NT_CAP_TypeDef* CAPx);
305 
314 void CAP_Capture_Init(NT_CAP_TypeDef* CAPx, CAP_Capture_Init_TypeDef* CAP_Capture_InitStruct);
315 void CAP_Capture_StructInit(CAP_Capture_Init_TypeDef* CAP_Capture_InitStruct);
316 void CAP_Capture_Cmd(NT_CAP_TypeDef* CAPx, FunctionalState State);
317 void CAP_Capture_SetCap0(NT_CAP_TypeDef* CAPx, uint32_t Value);
318 void CAP_Capture_SetCap1(NT_CAP_TypeDef* CAPx, uint32_t Value);
319 void CAP_Capture_SetCap2(NT_CAP_TypeDef* CAPx, uint32_t Value);
320 void CAP_Capture_SetCap3(NT_CAP_TypeDef* CAPx, uint32_t Value);
321 uint32_t CAP_Capture_GetCap0(NT_CAP_TypeDef* CAPx);
322 uint32_t CAP_Capture_GetCap1(NT_CAP_TypeDef* CAPx);
323 uint32_t CAP_Capture_GetCap2(NT_CAP_TypeDef* CAPx);
324 uint32_t CAP_Capture_GetCap3(NT_CAP_TypeDef* CAPx);
325 
334 void CAP_ITCmd(NT_CAP_TypeDef* CAPx, uint32_t CAP_ITSource, FunctionalState State);
335 void CAP_ITForceCmd(NT_CAP_TypeDef* CAPx, uint32_t CAP_ITSource);
336 FlagStatus CAP_ITStatus(NT_CAP_TypeDef* CAPx, uint32_t CAP_ITSource);
337 void CAP_ITStatusClear(NT_CAP_TypeDef* CAPx, uint32_t CAP_ITSource);
338 FlagStatus CAP_ITPendStatus(NT_CAP_TypeDef* CAPx);
339 void CAP_ITPendClear(NT_CAP_TypeDef* CAPx);
340 
349 #ifdef __cplusplus
350 }
351 #endif
352 
353 #endif /* __NIIETCM4_CAP_H */
354 
363 /******************* (C) COPYRIGHT 2016 NIIET *****END OF FILE****/
void CAP_SyncCmd(NT_CAP_TypeDef *CAPx, FunctionalState State)
Разрешение синхронизации.
Definition: niietcm4_cap.c:132
CAP_SyncOut_TypeDef
Выбор источника выходного сигнала синхронизации.
Definition: niietcm4_cap.h:92
void CAP_Capture_Init(NT_CAP_TypeDef *CAPx, CAP_Capture_Init_TypeDef *CAP_Capture_InitStruct)
Инициализирует режим захвата блока CAPx согласно параметрам структуры CAP_Capture_InitStruct.
Definition: niietcm4_cap.c:386
uint32_t CAP_Capture_GetCap1(NT_CAP_TypeDef *CAPx)
Получение текущего значения из регистра захвата 1.
Definition: niietcm4_cap.c:532
CAP_SyncOut_TypeDef CAP_SyncOut
Definition: niietcm4_cap.h:168
void CAP_ITStatusClear(NT_CAP_TypeDef *CAPx, uint32_t CAP_ITSource)
Сброс флагов источников прерываний выбранного блока захвата.
Definition: niietcm4_cap.c:643
FunctionalState
Описывает логическое состояние периферии. Используется для операций включения/выключения периферийных...
Definition: niietcm4.h:157
void CAP_PWM_SetCompare(NT_CAP_TypeDef *CAPx, uint32_t CompareVal)
Установка значения сравнения ШИМ.
Definition: niietcm4_cap.c:291
void CAP_StructInit(CAP_Init_TypeDef *CAP_InitStruct)
Заполнение каждого члена структуры CAP_InitStruct значениями по умолчанию.
Definition: niietcm4_cap.c:147
void CAP_ITForceCmd(NT_CAP_TypeDef *CAPx, uint32_t CAP_ITSource)
Принудительный вызов прерывания выбранного блока захвата.
Definition: niietcm4_cap.c:599
void CAP_TimerCmd(NT_CAP_TypeDef *CAPx, FunctionalState State)
Разрешение работы таймера, выбранного блока захвата.
Definition: niietcm4_cap.c:163
void CAP_ITCmd(NT_CAP_TypeDef *CAPx, uint32_t CAP_ITSource, FunctionalState State)
Разрешение работы прерывания выбранного блока захвата.
Definition: niietcm4_cap.c:575
void CAP_Init(NT_CAP_TypeDef *CAPx, CAP_Init_TypeDef *CAP_InitStruct)
Инициализирует CAPx согласно параметрам структуры CAP_InitStruct.
Definition: niietcm4_cap.c:111
FunctionalState CAP_Capture_RstEvent2
Definition: niietcm4_cap.h:190
CAP_Capture_Polarity_TypeDef
Выбор фронта захвата.
Definition: niietcm4_cap.h:56
uint32_t CAP_PWM_GetPeriod(NT_CAP_TypeDef *CAPx)
Получение текущего периода ШИМ.
Definition: niietcm4_cap.c:332
Структура инициализации режима захвата.
Definition: niietcm4_cap.h:178
uint32_t CAP_Capture_GetCap3(NT_CAP_TypeDef *CAPx)
Получение текущего значения из регистра захвата 3.
Definition: niietcm4_cap.c:558
CAP_Capture_Polarity_TypeDef CAP_Capture_PolarityEvent0
Definition: niietcm4_cap.h:194
CAP_PWM_Polarity_TypeDef CAP_PWM_Polarity
Definition: niietcm4_cap.h:227
FunctionalState CAP_SyncCmd
Definition: niietcm4_cap.h:166
uint32_t CAP_PWM_GetShadowCompare(NT_CAP_TypeDef *CAPx)
Получение отложенного значения сравнения ШИМ.
Definition: niietcm4_cap.c:371
void CAP_Capture_StructInit(CAP_Capture_Init_TypeDef *CAP_Capture_InitStruct)
Заполнение каждого члена структуры CAP_Capture_InitStruct значениями по умолчанию.
Definition: niietcm4_cap.c:421
FlagStatus
Описывает возможные состояния флага при запросе его статуса.
Definition: niietcm4.h:183
void CAP_ITPendClear(NT_CAP_TypeDef *CAPx)
Сброс флага прерывания выбранного блока захвата.
Definition: niietcm4_cap.c:681
uint32_t CAP_PWM_GetCompare(NT_CAP_TypeDef *CAPx)
Получение текущего значения сравнения ШИМ.
Definition: niietcm4_cap.c:345
uint32_t CAP_PWM_GetShadowPeriod(NT_CAP_TypeDef *CAPx)
Получение отложенного значения периода ШИМ.
Definition: niietcm4_cap.c:358
CAP_Mode_TypeDef CAP_Mode
Definition: niietcm4_cap.h:170
FlagStatus CAP_ITPendStatus(NT_CAP_TypeDef *CAPx)
Чтение статуса прерывания выбранного блока захвата.
Definition: niietcm4_cap.c:657
uint32_t CAP_GetShadowTimer(NT_CAP_TypeDef *CAPx)
Получение отложенного значения таймера.
Definition: niietcm4_cap.c:218
void CAP_Capture_SetCap1(NT_CAP_TypeDef *CAPx, uint32_t Value)
Установка значения регистра захвата 1.
Definition: niietcm4_cap.c:478
CAP_Halt_TypeDef CAP_Halt
Definition: niietcm4_cap.h:164
void CAP_SetTimer(NT_CAP_TypeDef *CAPx, uint32_t TimerVal)
Установка текущего значения счетчика напрямую.
Definition: niietcm4_cap.c:178
void CAP_SwSync(NT_CAP_TypeDef *CAPx)
Проведение программной синхронизации.
Definition: niietcm4_cap.c:231
FunctionalState CAP_Capture_RstEvent1
Definition: niietcm4_cap.h:188
FunctionalState CAP_Capture_RstEvent3
Definition: niietcm4_cap.h:192
Структура инициализации режима ШИМ.
Definition: niietcm4_cap.h:221
void CAP_PWM_Init(NT_CAP_TypeDef *CAPx, CAP_PWM_Init_TypeDef *CAP_PWM_InitStruct)
Инициализирует режим ШИМ блока CAPx согласно параметрам структуры CAP_PWM_InitStruct.
Definition: niietcm4_cap.c:246
uint32_t CAP_Capture_GetCap2(NT_CAP_TypeDef *CAPx)
Получение текущего значения из регистра захвата 2.
Definition: niietcm4_cap.c:545
CAP_Capture_Polarity_TypeDef CAP_Capture_PolarityEvent1
Definition: niietcm4_cap.h:196
FlagStatus CAP_ITStatus(NT_CAP_TypeDef *CAPx, uint32_t CAP_ITSource)
Чтение статуса флага источника прерывания выбранного блока захвата.
Definition: niietcm4_cap.c:616
void CAP_Capture_SetCap3(NT_CAP_TypeDef *CAPx, uint32_t Value)
Установка значения регистра захвата 3.
Definition: niietcm4_cap.c:506
void CAP_PWM_SetShadowPeriod(NT_CAP_TypeDef *CAPx, uint32_t PeriodVal)
Установка значения периода ШИМ для отложенной записи.
Definition: niietcm4_cap.c:305
CAP_Capture_Polarity_TypeDef CAP_Capture_PolarityEvent3
Definition: niietcm4_cap.h:200
void CAP_SetShadowTimer(NT_CAP_TypeDef *CAPx, uint32_t TimerVal)
Установка теневого значения таймера для отложенной записи.
Definition: niietcm4_cap.c:192
CAP_Halt_TypeDef
Выбор режима остановки таймера при отладке.
Definition: niietcm4_cap.h:73
void CAP_PWM_SetPeriod(NT_CAP_TypeDef *CAPx, uint32_t PeriodVal)
Установка значения периода ШИМ.
Definition: niietcm4_cap.c:277
Это главный заголовочный файл драйвера, обычно включаемый в main.c.
CAP_Capture_Mode_TypeDef CAP_CaptureMode
Definition: niietcm4_cap.h:182
Структура инициализации блока захвата в целом.
Definition: niietcm4_cap.h:162
void CAP_PWM_StructInit(CAP_PWM_Init_TypeDef *CAP_PWM_InitStruct)
Заполнение каждого члена структуры CAP_PWM_InitStruct значениями по умолчанию.
Definition: niietcm4_cap.c:263
void CAP_Capture_SetCap0(NT_CAP_TypeDef *CAPx, uint32_t Value)
Установка значения регистра захвата 0.
Definition: niietcm4_cap.c:464
uint32_t CAP_Capture_GetCap0(NT_CAP_TypeDef *CAPx)
Получение текущего значения из регистра захвата 0.
Definition: niietcm4_cap.c:519
CAP_PWM_Polarity_TypeDef
Выбор активного уровня в режиме ШИМ.
Definition: niietcm4_cap.h:128
CAP_Capture_Polarity_TypeDef CAP_Capture_PolarityEvent2
Definition: niietcm4_cap.h:198
void CAP_Capture_Cmd(NT_CAP_TypeDef *CAPx, FunctionalState State)
Разрешение захвата для выбранного блока захвата.
Definition: niietcm4_cap.c:444
CAP_Capture_Mode_TypeDef
Выбор режима работы захвата.
Definition: niietcm4_cap.h:111
void CAP_PWM_SetShadowCompare(NT_CAP_TypeDef *CAPx, uint32_t CompareVal)
Установка значения сравнения ШИМ для отложенной записи.
Definition: niietcm4_cap.c:319
void CAP_Capture_SetCap2(NT_CAP_TypeDef *CAPx, uint32_t Value)
Установка значения регистра захвата 2.
Definition: niietcm4_cap.c:492
uint32_t CAP_GetTimer(NT_CAP_TypeDef *CAPx)
Получение текущего значения таймера.
Definition: niietcm4_cap.c:205
FunctionalState CAP_Capture_RstEvent0
Definition: niietcm4_cap.h:186
void CAP_DeInit(NT_CAP_TypeDef *CAPx)
Устанавливает все регистры блока захвата значениями по умолчанию.
Definition: niietcm4_cap.c:68
CAP_Mode_TypeDef
Выбор режима работы блока захвата.
Definition: niietcm4_cap.h:145