Драйвер таймеров общего назначения
Подробнее...
|
| файл | hal_timer.h |
| | Интерфейс драйвера модуля таймеров общего назначения
|
| |
|
|
typedef void(* | callback_t) (TIM_Type *base) |
| | Функция обратного вызова
|
| |
Драйвер таймеров общего назначения
Драйвер модуля таймеров общего назначения управляет таймерами TIM и TIM1 общего назначения и таймера LPTIM, для работы в режимах энергосбережения.
◆ TIMER_COUNT
Количество таймеров общего назначения
◆ TIMER_HARDWARE_FIELD_MAX
| #define TIMER_HARDWARE_FIELD_MAX (0xFFFFFFFFUL) |
Максимально возможное аппаратное значение поля счетчика
◆ TIMER_SOFTWARE_FIELD_HIGH_OFFSET
| #define TIMER_SOFTWARE_FIELD_HIGH_OFFSET (32) |
Смещение старшей части программного значения поля счетчика
◆ TIMER_SOFTWARE_FIELD_MAX
| #define TIMER_SOFTWARE_FIELD_MAX (0xFFFFFFFFFFFFFFFFULL) |
Максимально возможное программное значение поля счетчика
◆ timer_status
Статусы драйвера таймеров общего назначения
| Элементы перечислений |
|---|
| TIMER_Status_Ok | Нет ошибок
|
| TIMER_Status_InvalidArgument | Недопустимый аргумент
|
| TIMER_Status_TimerBusy | Таймер уже занят
|
| TIMER_Status_BadConfigure | Недопустимая конфигурация
|
| TIMER_Status_NotIni | Работа с неинициализированным таймером
|
| TIMER_Status_NotSupport | Функция не поддерживается
|
◆ timer_type_of_counting
Режимы счета импульсов таймером
| Элементы перечислений |
|---|
| TIMER_Work | Стандартный счет частоты
|
| TIMER_Debug | Счет частоты с учетом отладки (CTI)
|
◆ timer_work_mode
Режим работы таймера общего назначения
| Элементы перечислений |
|---|
| TIMER_Hardware | Работа в 32-битном режиме по аппаратным настройкам
|
| TIMER_Software | Работа в режиме эмуляции 64-битного таймера
|
◆ TIMER_Deinit()
Деинициализация таймера общего назначения
- Аргументы
-
- Возвращаемые значения
-
◆ TIMER_GetAPIStatus()
Получение результата выполнения последней функции
Возвращает статус выполнения последней функции, у которой тип возвращаемого значения отличен от timer_status.
- Возвращаемые значения
-
◆ TIMER_GetTicks()
| uint64_t TIMER_GetTicks |
( |
TIM_Type * | base | ) |
|
Получение количества тиков
- Аргументы
-
- Возвращает
- Количество подсчитанных тактов
◆ TIMER_GetTimerHardwareValue()
| static uint32_t TIMER_GetTimerHardwareValue |
( |
TIM_Type * | base | ) |
|
|
inlinestatic |
Получение значения регистра счетчика таймера
- Аргументы
-
- Возвращает
- Количество подсчитанных тактов
◆ TIMER_Init()
Инициализация таймера общего назначения
- Заметки
- Конфигурация аппаратуры таймера используется полностью при режиме работы TIMER_Hardware, а при TIMER_Software - только поля work_type и start_enable.
- Аргументы
-
| base | Таймер |
| config | Конфигурация аппаратуры таймера |
| mode | Режим работы |
| callback | Функция обратного вызова |
| ticks_h | Начальное значение для старшей части счетчика обратного счета при режиме работы TIMER_Software |
- Возвращаемые значения
-
◆ TIMER_IRQClear()
Сброс прерывания
- Аргументы
-
- Возвращаемые значения
-
◆ TIMER_IRQDisable()
Отключение прерывания
Выключает прерывание в таймере; NVIC не конфигурирует.
- Аргументы
-
- Возвращаемые значения
-
◆ TIMER_IRQEnable()
Включение прерывания
Включает прерывание в таймере; NVIC не конфигурирует.
- Аргументы
-
- Возвращаемые значения
-
◆ TIMER_IRQGetStatus()
| uint32_t TIMER_IRQGetStatus |
( |
TIM_Type * | base | ) |
|
Чтение статуса прерывания
- Аргументы
-
- Возвращаемые значения
-
| 0 | - прерывание отсутствует |
| 1 | - прерывание присутствует |
◆ TIMER_Reset()
Сброс таймера общего назначения
- Аргументы
-
- Возвращаемые значения
-
◆ TIMER_Run()
Запуск таймера общего назначения
- Аргументы
-
- Возвращаемые значения
-
◆ TIMER_SetConfig()
Инициализация структуры таймера общего назначения
- Заметки
- Конфигурация аппаратуры таймера используется полностью при режиме работы TIMER_Hardware, а при TIMER_Software - только поля work_type и start_enable.
- Аргументы
-
| base | Таймер |
| config | Конфигурация аппаратуры таймера |
| mode | Режим работы |
| callback | Функция обратного вызова |
| ticks_h | Начальное значение для старшей части счетчика обратного счета при режиме работы TIMER_Software |
- Возвращаемые значения
-
◆ TIMER_SetTick()
| enum timer_status TIMER_SetTick |
( |
TIM_Type * | base, |
|
|
uint64_t | ticks ) |
Установка количества тиков
- Аргументы
-
| base | Таймер |
| ticks | Количество тиков |
- Возвращаемые значения
-
◆ TIMER_Stop()
Остановка таймера общего назначения
- Аргументы
-
- Возвращаемые значения
-