|
ELIOT1 HAL
|
Драйвер универсального блока таймеров Подробнее...
Файлы | |
| файл | hal_vtu.h |
| Интерфейс драйвера универсального блока таймеров | |
Структуры данных | |
| struct | vtu_config |
| Структура для конфигурации VTU. Подробнее... | |
Определения типов | |
| typedef void(* | vtu_callback) (VTU_Type *base, uint32_t timer, enum vtu_interrupt_control value) |
| Функция обратного вызова | |
Перечисления | |
| enum | vtu_status |
| Статусы драйвера универсального блока таймеров Подробнее... | |
| enum | vtu_mode |
| Режимы работы тамеров универсального блока таймеров Подробнее... | |
| enum | vtu_capture_edge_control |
| Управление фронтами при режиме захвата Подробнее... | |
| enum | vtu_pwm_polarity |
| Управление полярностью ШИМ Подробнее... | |
| enum | vtu_interrupt_control |
| Управление прерываниями Подробнее... | |
| enum | timer_num_mode |
| Номер таймера и его режим работы для прерываний Подробнее... | |
Функции | |
| enum vtu_status | VTU_GetLastAPIStatus (void) |
| Получение статуса выполнения функции, тип результата которой отличен от enum vtu_status. | |
Инициализация и деинициализации таймера | |
| enum vtu_status | VTU_GetDefaultConfig (struct vtu_config *config) |
| Создание конфигурации по умолчанию | |
| enum vtu_status | VTU_Init (VTU_Type *base, uint32_t timer, struct vtu_config *config) |
| Инициализация таймера | |
| enum vtu_status | VTU_Deinit (VTU_Type *base, uint32_t timer) |
| Деинициализация таймера | |
Функции управления VTU | |
| enum vtu_status | VTU_EnableTimer (VTU_Type *base, uint32_t timer, bool enable) |
| Разрешение работы таймера | |
| enum vtu_status | VTU_SetCounter (VTU_Type *base, uint32_t timer, uint16_t value, bool extended) |
| Установка значения счетчика | |
| uint16_t | VTU_GetCounter (VTU_Type *base, uint32_t timer, bool extended) |
| Получение значения счетчика | |
| enum vtu_status | VTU_SetPrescaler (VTU_Type *base, uint32_t timer, uint8_t value) |
| Установка значения предделителя | |
| uint8_t | VTU_GetPrescaler (VTU_Type *base, uint32_t timer) |
| Получение значения предделителя | |
| enum vtu_status | VTU_SetPeriodCapture (VTU_Type *base, uint32_t timer, uint16_t value, bool extended) |
| Установка значения периода генерации шим без учета предделителя | |
| uint16_t | VTU_GetPeriodCapture (VTU_Type *base, uint32_t timer, bool extended) |
| Получение значения периода генерации шим без учета предделителя | |
| enum vtu_status | VTU_SetDutyCycleCapture (VTU_Type *base, uint32_t timer, uint16_t value, bool extended) |
| Установка периода импульса шим без учета предделителя | |
| uint16_t | VTU_GetDutyCycleCapture (VTU_Type *base, uint32_t timer, bool extended) |
| Получение периода импульса шим без учета предделителя | |
| void | VTU_SetCallback (uint32_t timer, vtu_callback callback) |
| Установка функции обратного вызова | |
| enum vtu_status | VTU_EnableTimerIRQ (VTU_Type *base, uint32_t timer, enum vtu_interrupt_control value, bool enable, enum vtu_mode mode) |
| Разрешение работы прерывания | |
| enum vtu_interrupt_control | VTU_GetTimerIRQ (VTU_Type *base, uint32_t timer, enum vtu_mode mode) |
| Получение прерываний | |
| enum vtu_status | VTU_ClearTimerIRQ (VTU_Type *base, uint32_t timer, enum vtu_interrupt_control values, enum vtu_mode mode) |
| Очистка прерываний | |
| 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_GetPWMPolarity (VTU_Type *base, uint32_t timer, enum vtu_pwm_polarity *value1, enum vtu_pwm_polarity *value2, bool use_value2) |
| Получение полярности ШИМ | |
| 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) |
| Установка типа захвата | |
| 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 timer_num_mode |
Номер таймера и его режим работы для прерываний
Управление фронтами при режиме захвата
Управление прерываниями
| enum vtu_mode |
| enum vtu_pwm_polarity |
| enum vtu_status |
Статусы драйвера универсального блока таймеров
| enum vtu_status VTU_ClearTimerIRQ | ( | VTU_Type * | base, |
| uint32_t | timer, | ||
| enum vtu_interrupt_control | values, | ||
| enum vtu_mode | mode ) |
Очистка прерываний
| base | Подсистема VTU |
| timer | Таймер |
| values | Прерывания |
| mode | Режим таймера для интерпретации прерываний |
| enum vtu_status VTU_Deinit | ( | VTU_Type * | base, |
| uint32_t | timer ) |
Деинициализация таймера
Функция деинициализации таймера
| base | Подсистема VTU |
| timer | Таймер |
| VTU_Status_Ok | |
| VTU_Status_InvalidArgument |
| enum vtu_status VTU_EnableTimer | ( | VTU_Type * | base, |
| uint32_t | timer, | ||
| bool | enable ) |
Разрешение работы таймера
| base | Подсистема VTU |
| timer | Таймер |
| enable | Разрешение работы (1) или запрещение работы (0) |
| enum vtu_status VTU_EnableTimerIRQ | ( | VTU_Type * | base, |
| uint32_t | timer, | ||
| enum vtu_interrupt_control | value, | ||
| bool | enable, | ||
| enum vtu_mode | mode ) |
Разрешение работы прерывания
| base | Подсистема VTU |
| timer | Таймер |
| value | Прерывания |
| enable | Разрешены прерывания по маске (1) или запрещены прерывания по маске (0) |
| mode | Режим таймера для интерпретации прерываний |
| 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 ) |
Получение типа захвата
| base | Подсистема VTU |
| timer | Таймер |
| value1 | Полярность первого сигнала ШИМ |
| value2 | Полярность второго сигнала ШИМ |
| use_value2 | Использовать (1) или не использовать (0) второй сигнал ШИМ |
| uint16_t VTU_GetCounter | ( | VTU_Type * | base, |
| uint32_t | timer, | ||
| bool | extended ) |
Получение значения счетчика
| base | Подсистема VTU |
| timer | Таймер |
| extended | Вернуть двухбайтовое (1) или однобайтное (0) значение value |
| enum vtu_status VTU_GetDefaultConfig | ( | struct vtu_config * | config | ) |
Создание конфигурации по умолчанию
Функция инициализации структуры с настройками таймера "по умолчанию"
| config | Конфигурация таймера |
| VTU_Status_Ok | |
| VTU_Status_InvalidArgument |
| uint16_t VTU_GetDutyCycleCapture | ( | VTU_Type * | base, |
| uint32_t | timer, | ||
| bool | extended ) |
Получение периода импульса шим без учета предделителя
| base | Подсистема VTU |
| timer | Таймер |
| extended | Вернуть двухбайтное (1) или однобайтное (0) значение value |
| enum vtu_status VTU_GetLastAPIStatus | ( | void | ) |
Получение статуса выполнения функции, тип результата которой отличен от enum vtu_status.
| uint16_t VTU_GetPeriodCapture | ( | VTU_Type * | base, |
| uint32_t | timer, | ||
| bool | extended ) |
Получение значения периода генерации шим без учета предделителя
| base | Подсистема VTU |
| timer | Таймер |
| extended | Вернуть двухбайтное (1) или однобайтное (0) значение value |
| uint8_t VTU_GetPrescaler | ( | VTU_Type * | base, |
| uint32_t | timer ) |
Получение значения предделителя
| base | Подсистема VTU |
| timer | Таймер |
| enum vtu_status VTU_GetPWMPolarity | ( | VTU_Type * | base, |
| uint32_t | timer, | ||
| enum vtu_pwm_polarity * | value1, | ||
| enum vtu_pwm_polarity * | value2, | ||
| bool | use_value2 ) |
Получение полярности ШИМ
| base | Подсистема VTU |
| timer | Таймер |
| value1 | Полярность первого сигнала ШИМ |
| value2 | Полярность второго сигнала ШИМ |
| use_value2 | Использовать (1) или не использовать (0) второй сигнал ШИМ |
| enum vtu_interrupt_control VTU_GetTimerIRQ | ( | VTU_Type * | base, |
| uint32_t | timer, | ||
| enum vtu_mode | mode ) |
Получение прерываний
| base | Подсистема VTU |
| timer | Таймер |
| mode | Режим таймера для интерпретации прерываний |
| enum vtu_status VTU_Init | ( | VTU_Type * | base, |
| uint32_t | timer, | ||
| struct vtu_config * | config ) |
Инициализация таймера
Функция инициализации таймера с указанными настройками
| base | Система VTU |
| timer | Таймер в системе VTU |
| config | Конфигурация таймера |
| VTU_Status_Ok | |
| VTU_Status_InvalidArgument |
| void VTU_SetCallback | ( | uint32_t | timer, |
| vtu_callback | callback ) |
Установка функции обратного вызова
| callback | Указатель на пользовательскую функцию обратного вызова |
| 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 ) |
Установка типа захвата
| base | Подсистема VTU |
| timer | Таймер |
| value1 | Полярность первого сигнала ШИМ |
| value2 | Полярность второго сигнала ШИМ |
| use_value2 | Использовать (1) или не использовать (0) второй сигнал ШИМ |
| enum vtu_status VTU_SetCounter | ( | VTU_Type * | base, |
| uint32_t | timer, | ||
| uint16_t | value, | ||
| bool | extended ) |
Установка значения счетчика
| base | Подсистема VTU |
| timer | Таймер |
| value | Значение |
| extended | Использовать (1) или не использовать (0) двухбайтное значение value |
| enum vtu_status VTU_SetDutyCycleCapture | ( | VTU_Type * | base, |
| uint32_t | timer, | ||
| uint16_t | value, | ||
| bool | extended ) |
Установка периода импульса шим без учета предделителя
| base | Подсистема VTU |
| timer | Таймер |
| value | Значение |
| extended | Использовать (1) или не использовать (0) двухбайтное значение value |
| enum vtu_status VTU_SetPeriodCapture | ( | VTU_Type * | base, |
| uint32_t | timer, | ||
| uint16_t | value, | ||
| bool | extended ) |
Установка значения периода генерации шим без учета предделителя
| base | Подсистема VTU |
| timer | Таймер |
| value | Значение |
| extended | Использовать (1) или не использовать (0) двухбайтное значение value |
| enum vtu_status VTU_SetPrescaler | ( | VTU_Type * | base, |
| uint32_t | timer, | ||
| uint8_t | value ) |
Установка значения предделителя
| base | Подсистема VTU |
| timer | Таймер |
| value | Значение |
| enum vtu_status VTU_SetPWMPolarity | ( | VTU_Type * | base, |
| uint32_t | timer, | ||
| enum vtu_pwm_polarity | value1, | ||
| enum vtu_pwm_polarity | value2, | ||
| bool | use_value2 ) |
Установка полярности ШИМ
| base | Подсистема VTU |
| timer | Таймер |
| value1 | Полярность первого сигнала ШИМ |
| value2 | Полярность второго сигнала ШИМ |
| use_value2 | Использовать (1) или не использовать (0) второй сигнал ШИМ |