ELIOT1 HAL
Загрузка...
Поиск...
Не найдено
hal_vtu.h
См. документацию.
1
20#ifndef HAL_VTU_H
21#define HAL_VTU_H
22
23#include "hal_common.h"
24
38
48
62
70
86
88typedef void (*vtu_callback)(VTU_Type *base, uint32_t timer,
89 enum vtu_interrupt_control value);
90
106
118
140
153enum vtu_status VTU_Init(VTU_Type *base, uint32_t timer, struct vtu_config *config);
154
166enum vtu_status VTU_Deinit(VTU_Type *base, uint32_t timer);
167
186enum vtu_status VTU_EnableTimer(VTU_Type *base, uint32_t timer, bool enable);
187
198enum vtu_status VTU_SetCounter(VTU_Type *base, uint32_t timer,
199 uint16_t value, bool extended);
200
210uint16_t VTU_GetCounter(VTU_Type *base, uint32_t timer, bool extended);
211
221enum vtu_status VTU_SetPrescaler(VTU_Type *base, uint32_t timer,
222 uint8_t value);
223
232uint8_t VTU_GetPrescaler(VTU_Type *base, uint32_t timer);
233
245enum vtu_status VTU_SetPeriodCapture(VTU_Type *base, uint32_t timer,
246 uint16_t value, bool extended);
247
258uint16_t VTU_GetPeriodCapture(VTU_Type *base, uint32_t timer,
259 bool extended);
260
271enum vtu_status VTU_SetDutyCycleCapture(VTU_Type *base, uint32_t timer,
272 uint16_t value, bool extended);
273
283uint16_t VTU_GetDutyCycleCapture(VTU_Type *base, uint32_t timer,
284 bool extended);
285
291void VTU_SetCallback(uint32_t timer, vtu_callback callback);
292
304enum vtu_status VTU_EnableTimerIRQ(VTU_Type *base, uint32_t timer,
305 enum vtu_interrupt_control value, bool enable, enum vtu_mode mode);
306
316enum vtu_interrupt_control VTU_GetTimerIRQ(VTU_Type *base, uint32_t timer,
317 enum vtu_mode mode);
318
329enum vtu_status VTU_ClearTimerIRQ(VTU_Type *base, uint32_t timer,
330 enum vtu_interrupt_control values, enum vtu_mode mode);
331
343enum vtu_status VTU_SetPWMPolarity(VTU_Type *base, uint32_t timer,
344 enum vtu_pwm_polarity value1, enum vtu_pwm_polarity value2,
345 bool use_value2);
346
347
359enum vtu_status VTU_GetPWMPolarity(VTU_Type *base, uint32_t timer,
360 enum vtu_pwm_polarity *value1, enum vtu_pwm_polarity *value2,
361 bool use_value2);
362
374enum vtu_status VTU_SetCaptureEdgeCtrl(VTU_Type *base, uint32_t timer,
375 enum vtu_capture_edge_control value1,
376 enum vtu_capture_edge_control value2,
377 bool use_value2);
378
390enum vtu_status VTU_GetCaptureEdgeCtrl(VTU_Type *base, uint32_t timer,
391 enum vtu_capture_edge_control *value1,
392 enum vtu_capture_edge_control *value2,
393 bool use_value2);
394
406
411#endif /* HAL_VTU_H */
412
vtu_mode
Режимы работы тамеров универсального блока таймеров
Definition hal_vtu.h:42
enum vtu_status VTU_SetPeriodCapture(VTU_Type *base, uint32_t timer, uint16_t value, bool extended)
Установка значения периода генерации шим без учета предделителя
timer_num_mode
Номер таймера и его режим работы для прерываний
Definition hal_vtu.h:110
enum vtu_interrupt_control VTU_GetTimerIRQ(VTU_Type *base, uint32_t timer, enum vtu_mode mode)
Получение прерываний
uint16_t VTU_GetPeriodCapture(VTU_Type *base, uint32_t timer, bool extended)
Получение значения периода генерации шим без учета предделителя
enum vtu_status VTU_SetPrescaler(VTU_Type *base, uint32_t timer, uint8_t value)
Установка значения предделителя
enum vtu_status VTU_EnableTimerIRQ(VTU_Type *base, uint32_t timer, enum vtu_interrupt_control value, bool enable, enum vtu_mode mode)
Разрешение работы прерывания
enum vtu_status VTU_GetLastAPIStatus(void)
Получение статуса выполнения функции, тип результата которой отличен от enum vtu_status.
vtu_interrupt_control
Управление прерываниями
Definition hal_vtu.h:74
void VTU_SetCallback(uint32_t timer, vtu_callback callback)
Установка функции обратного вызова
enum vtu_status VTU_SetCounter(VTU_Type *base, uint32_t timer, uint16_t value, bool extended)
Установка значения счетчика
enum vtu_status VTU_SetPWMPolarity(VTU_Type *base, uint32_t timer, enum vtu_pwm_polarity value1, enum vtu_pwm_polarity value2, bool use_value2)
Установка полярности ШИМ
enum vtu_status VTU_Deinit(VTU_Type *base, uint32_t timer)
Деинициализация таймера
enum vtu_status VTU_ClearTimerIRQ(VTU_Type *base, uint32_t timer, enum vtu_interrupt_control values, enum vtu_mode mode)
Очистка прерываний
vtu_pwm_polarity
Управление полярностью ШИМ
Definition hal_vtu.h:66
enum vtu_status VTU_SetDutyCycleCapture(VTU_Type *base, uint32_t timer, uint16_t value, bool extended)
Установка периода импульса шим без учета предделителя
uint8_t VTU_GetPrescaler(VTU_Type *base, uint32_t timer)
Получение значения предделителя
enum vtu_status VTU_EnableTimer(VTU_Type *base, uint32_t timer, bool enable)
Разрешение работы таймера
void(* vtu_callback)(VTU_Type *base, uint32_t timer, enum vtu_interrupt_control value)
Функция обратного вызова
Definition hal_vtu.h:88
enum vtu_status VTU_GetPWMPolarity(VTU_Type *base, uint32_t timer, enum vtu_pwm_polarity *value1, enum vtu_pwm_polarity *value2, bool use_value2)
Получение полярности ШИМ
enum vtu_status VTU_GetCaptureEdgeCtrl(VTU_Type *base, uint32_t timer, enum vtu_capture_edge_control *value1, enum vtu_capture_edge_control *value2, bool use_value2)
Получение типа захвата
enum vtu_status VTU_Init(VTU_Type *base, uint32_t timer, struct vtu_config *config)
Инициализация таймера
enum vtu_status VTU_SetCaptureEdgeCtrl(VTU_Type *base, uint32_t timer, enum vtu_capture_edge_control value1, enum vtu_capture_edge_control value2, bool use_value2)
Установка типа захвата
uint16_t VTU_GetDutyCycleCapture(VTU_Type *base, uint32_t timer, bool extended)
Получение периода импульса шим без учета предделителя
vtu_capture_edge_control
Управление фронтами при режиме захвата
Definition hal_vtu.h:52
uint16_t VTU_GetCounter(VTU_Type *base, uint32_t timer, bool extended)
Получение значения счетчика
vtu_status
Статусы драйвера универсального блока таймеров
Definition hal_vtu.h:28
enum vtu_status VTU_GetDefaultConfig(struct vtu_config *config)
Создание конфигурации по умолчанию
@ VTU_LowPower
Definition hal_vtu.h:43
@ VTU_PWMDual8Bit
Definition hal_vtu.h:44
@ VTU_PWM16Bit
Definition hal_vtu.h:45
@ VTU_Capture
Definition hal_vtu.h:46
@ VTU_Timer2Mode16bit
Definition hal_vtu.h:115
@ VTU_Timer2Mode8bit
Definition hal_vtu.h:114
@ VTU_Timer0Mode16bit
Definition hal_vtu.h:112
@ VTU_Timer3Mode8bit
Definition hal_vtu.h:116
@ VTU_Timer0Mode8bit
Definition hal_vtu.h:111
@ VTU_Timer1Mode8bit
Definition hal_vtu.h:113
@ VTU_HighByteDutyCycleMatch
Definition hal_vtu.h:78
@ VTU_NoInterrupt
Definition hal_vtu.h:75
@ VTU_HighBytePeriodMatch
Definition hal_vtu.h:79
@ VTU_CounterOverflow
Definition hal_vtu.h:84
@ VTU_CaptureToDTYCAPx
Definition hal_vtu.h:83
@ VTU_CaptureToPERCAPx
Definition hal_vtu.h:82
@ VTU_PeriodMatch
Definition hal_vtu.h:81
@ VTU_DutyCycleMatch
Definition hal_vtu.h:80
@ VTU_LowByteDutyCycleMatch
Definition hal_vtu.h:76
@ VTU_LowBytePeriodMatch
Definition hal_vtu.h:77
@ VTU_One
Definition hal_vtu.h:67
@ VTU_Zero
Definition hal_vtu.h:68
@ VTU_CaptureFallingEdgeResetYes
Definition hal_vtu.h:56
@ VTU_CaptureBothEdgeResetNo
Definition hal_vtu.h:57
@ VTU_CaptureBothEdgeResetFallingEdge
Definition hal_vtu.h:59
@ VTU_CaptureBothEdgeResetBothEdge
Definition hal_vtu.h:60
@ VTU_CaptureFallingEdgeResetNo
Definition hal_vtu.h:54
@ VTU_CaptureRisingEdgeResetNo
Definition hal_vtu.h:53
@ VTU_CaptureBothEdgeResetRisingEdge
Definition hal_vtu.h:58
@ VTU_CaptureRisingEdgeResetYes
Definition hal_vtu.h:55
@ VTU_Status_DriverError
Definition hal_vtu.h:33
@ VTU_Status_Ok
Definition hal_vtu.h:29
@ VTU_Status_TimerBusy
Definition hal_vtu.h:31
@ VTU_Status_InvalidArgument
Definition hal_vtu.h:30
@ VTU_Status_TimerNotInit
Definition hal_vtu.h:36
@ VTU_Status_BadConfigure
Definition hal_vtu.h:32
@ VTU_Status_DualTimerNotCanRun
Definition hal_vtu.h:34
Структура для конфигурации VTU.
Definition hal_vtu.h:94
enum vtu_interrupt_control interrupt_control
Definition hal_vtu.h:100
uint16_t counter
Definition hal_vtu.h:102
enum vtu_capture_edge_control capture_edge_control2
Definition hal_vtu.h:97
uint16_t period
Definition hal_vtu.h:103
enum vtu_mode mode
Definition hal_vtu.h:95
enum vtu_pwm_polarity pwm_polarity
Definition hal_vtu.h:98
enum vtu_capture_edge_control capture_edge_control1
Definition hal_vtu.h:96
uint16_t duty_cycle_capture
Definition hal_vtu.h:104
uint8_t prescaler
Definition hal_vtu.h:101
enum vtu_pwm_polarity pwm_polarity2
Definition hal_vtu.h:99