HAL Timer16

Материал из MIK32 микроконтроллер

Константы

Структуры

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 от внешнего источника тактового сигнала, биты CKPOL используются для настройки активного фронта или фронтов, ис-пользуемых счетчиком:

Аргументы:

Timer16_HandleTypeDef *htimer16 - Экземпляр Timer16. Возможные значения: TIMER16_0, TIMER16_1, TIMER16_2.


void HAL_Timer16_SetSourceClock(Timer16_HandleTypeDef *htimer16, uint8_t SourceClock)

void HAL_Timer16_SetCountMode(Timer16_HandleTypeDef *htimer16, uint8_t CountMode)

void HAL_Timer16_ClockInit(Timer16_HandleTypeDef *htimer16)

void HAL_Timer16_SetPreload(Timer16_HandleTypeDef *htimer16, uint8_t Preload)

void HAL_Timer16_WaitARROK(Timer16_HandleTypeDef *htimer16)

void HAL_Timer16_WaitCMPOK(Timer16_HandleTypeDef *htimer16)

void HAL_Timer16_SetARR(Timer16_HandleTypeDef *htimer16, uint16_t Period)

void HAL_Timer16_SetCMP(Timer16_HandleTypeDef *htimer16, uint16_t Compare)

void HAL_Timer16_ClearCMPFlag(Timer16_HandleTypeDef *htimer16)

void HAL_Timer16_SelectTrigger(Timer16_HandleTypeDef *htimer16, uint8_t TriggerSource)

void HAL_Timer16_SetTriggerEdge(Timer16_HandleTypeDef *htimer16, uint8_t TriggerEdge)

void HAL_Timer16_SetTimeOut(Timer16_HandleTypeDef *htimer16, uint8_t TimeOut)

void HAL_Timer16_SetFilterExternalClock(Timer16_HandleTypeDef *htimer16, uint8_t FilterExternalClock)

void HAL_Timer16_SetFilterTrigger(Timer16_HandleTypeDef *htimer16, uint8_t FilterTrigger)

void HAL_Timer16_SetEncoderMode(Timer16_HandleTypeDef *htimer16, uint8_t EncoderMode)

void HAL_Timer16_Init(Timer16_HandleTypeDef *htimer16)

uint16_t HAL_Timer16_GetCounterValue(Timer16_HandleTypeDef *htimer16)

uint8_t HAL_Timer16_CheckCMP(Timer16_HandleTypeDef *htimer16)

void HAL_Timer16_WaitCMP(Timer16_HandleTypeDef *htimer16)

void HAL_Timer16_StartSingleMode(Timer16_HandleTypeDef *htimer16)

void HAL_Timer16_StartContinuousMode(Timer16_HandleTypeDef *htimer16)

void HAL_Timer16_InvertOutput(Timer16_HandleTypeDef *htimer16)

void HAL_Timer16_StartPWM(Timer16_HandleTypeDef *htimer16, uint16_t Period, uint16_t Compare)

void HAL_Timer16_StartOneShot(Timer16_HandleTypeDef *htimer16, uint16_t Period, uint16_t Compare)

void HAL_Timer16_StartSetOnes(Timer16_HandleTypeDef *htimer16, uint16_t Period, uint16_t Compare)

void HAL_Timer16_ClearTriggerFlag(Timer16_HandleTypeDef *htimer16)

void HAL_Timer16_WaitTrigger(Timer16_HandleTypeDef *htimer16)