HAL Timer16
Константы
Структуры
typedef struct
{
uint8_t Source; /* Источник тактирования */
uint8_t Prescaler; /* Делитель частоты */
} Timer16_ClockConfigTypeDef;
typedef struct
{
uint8_t Source; /* Источник тригера */
uint8_t ActiveEdge; /* Активный фронт */
uint8_t TimeOut; /* Функция тайм-аут */
} Timer16_TriggerConfigTypeDef;
typedef struct
{
uint8_t ExternalClock; /* Фильтр для внешнего тактового генератора */
uint8_t Trigger; /* фильтр для триггера */
} Timer16_FilterConfigTypeDef;
typedef struct
{
TIMER16_TypeDef *Instance; /* Базовый адрес регистров Timer16 */
Timer16_ClockConfigTypeDef Clock; /* Настройки тактирования */
uint8_t CountMode; /* Источник синхронизации */
uint8_t ActiveEdge; /* Активный фронт */
uint16_t Period; /* Верхнее значение счета */
uint8_t Preload; /* Режим записи в ARR и CMP */
Timer16_TriggerConfigTypeDef Trigger; /* Настройки тригера */
Timer16_FilterConfigTypeDef Filter; /* Настройки фильтра */
uint8_t EncoderMode; /* Режим энкодера */
} Timer16_HandleTypeDef;
Функции
void HAL_Timer16_Disable(Timer16_HandleTypeDef *htimer16)
Описание:
Выключить таймер. Может использоваться для отключения таймера или при записи в регистр CFGR.
Аргументы:
- Timer16_HandleTypeDef *htimer16 - Экземпляр Timer16. Возможные значения:
- TIMER16_0;
- TIMER16_1;
- TIMER16_2.
void HAL_Timer16_Enable(Timer16_HandleTypeDef *htimer16)
Описание:
Включить таймер.
Аргументы:
- Timer16_HandleTypeDef *htimer16 - Экземпляр Timer16. Возможные значения:
- TIMER16_0;
- TIMER16_1;
- TIMER16_2.
void HAL_Timer16_SetActiveEdge(Timer16_HandleTypeDef *htimer16, uint8_t ActiveEdge)
Описание:
Установить активный фронт для подсчёта. Используется при тактировании Timer16 от внешнего источника тактового сигнала на выводе Input1.
Если оба фронта сконфигурированы как активные, необходимо также обеспечить внутренний тактовый сигнал. В этом случае частота внутреннего тактового сигнала должна быть как минимум в четыре раза выше частоты внешнего тактового сигнала.
При тактировании от Input1 ( HAL_Timer16_SetSourceClock ) счетчик Timer16 может обновляться либо по нарастающему, либо по спадающему фронту тактового сигнала lnput1, но не по двум (нарастающему и спадающему фронту) одновременно.
Аргументы:
- Timer16_HandleTypeDef *htimer16 - Экземпляр Timer16. Возможные значения:
- TIMER16_0;
- TIMER16_1;
- TIMER16_2.
- uint8_t ActiveEdge - Активный фронт. Возможные значения:
- TIMER16_ACTIVEEDGE_RISING - Нарастающий фронт является активным;
- TIMER16_ACTIVEEDGE_FOLLING - Спадающий фронт является активным;
- TIMER16_ACTIVEEDGE_BOTH - Оба фронта являются активными фронтами.
void HAL_Timer16_SetSourceClock(Timer16_HandleTypeDef *htimer16, uint8_t SourceClock)
Описание:
Выбрать источник тактирования, который будет использовать Timer16.
Аргументы:
- Timer16_HandleTypeDef *htimer16 - Экземпляр Timer16. Возможные значения:
- TIMER16_0;
- TIMER16_1;
- TIMER16_2.
- uint8_t SourceClock - Источник тактирования. Возможные значения:
- TIMER16_SOURCE_INTERNAL_SYSTEM - Тактирование от системной частоты (sys_clk);
- TIMER16_SOURCE_INTERNAL_AHB - Тактирование от частоты шины AHB;
- TIMER16_SOURCE_INTERNAL_OSC32M - Тактирование от частоты внешнего осциллятора OSC32М;
- TIMER16_SOURCE_INTERNAL_HSI32M - Тактирование от частоты встроенного осциллятора HSI32M;
- TIMER16_SOURCE_INTERNAL_OSC32K - Тактирование от частоты внешнего осциллятора OSC32К;
- TIMER16_SOURCE_INTERNAL_LSI32K - Тактирование от частоты встроенного осциллятора LSI32K;
- TIMER16_SOURCE_EXTERNAL_INPUT1 - Тактирование от внешнего вывода Input1.
void HAL_Timer16_SetCountMode(Timer16_HandleTypeDef *htimer16, uint8_t CountMode)
Описание:
Выбрать источник тактового сигнала для синхронизации счетчика Timer16.
При тактировании от Input1 Timer16 не нуждается во внутреннем источнике тактового сигнала (за исключением случаев, когда включены фильтры glitch). Сигнал, подаваемый на lnput1 Timer16, используется в качестве системного тактового генератора для Timer16. Эта конфигурация подходит для режимов работы, в которых не включен встроенный генератор. При такой конфигурации счетчик Timer16 может обновляться либо по нарастающему, либо по спадающему фронту тактового сигнала lnput1, но не по двум (нарастающему и спадающему фронту) одновременно.
Аргументы:
- Timer16_HandleTypeDef *htimer16 - Экземпляр Timer16. Возможные значения:
- TIMER16_0;
- TIMER16_1;
- TIMER16_2.
- uint8_t CountMode - Источник тактового сигнала для синхронизации счетчика. Возможные значения:
- TIMER16_COUNTMODE_INTERNAL - Счетчик инкрементируется после каждого внутреннего тактового импульса;
- TIMER16_COUNTMODE_EXTERNAL - Счетчик увеличивается после каждого действительного тактового импульса на внешнем выводе lnput1.
void HAL_Timer16_ClockInit(Timer16_HandleTypeDef *htimer16)
Описание:
Выбрать источник тактового сигнала для синхронизации счетчика Timer16.
Аргументы:
- Timer16_HandleTypeDef *htimer16 - Экземпляр Timer16. Возможные значения:
- TIMER16_0;
- TIMER16_1;
- TIMER16_2.