HAL Timer16: различия между версиями

Материал из MIK32 микроконтроллер
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
'''Функции:'''
== '''Константы''' ==


=== void HAL_Timer16_Disable(Timer16_HandleTypeDef *htimer16); ===
== '''Структуры''' ==
void HAL_Timer16_Enable(Timer16_HandleTypeDef *htimer16);
typedef struct


void HAL_Timer16_SetActiveEdge(Timer16_HandleTypeDef *htimer16, uint8_t ActiveEdge);
{


void HAL_Timer16_SetSourceClock(Timer16_HandleTypeDef *htimer16, uint8_t SourceClock);
    uint8_t Source;         /* Источник тактирования */


void HAL_Timer16_SetCountMode(Timer16_HandleTypeDef *htimer16, uint8_t CountMode);
    uint8_t Prescaler;      /* Делитель частоты */


void HAL_Timer16_ClockInit(Timer16_HandleTypeDef *htimer16);
} Timer16_ClockConfigTypeDef;


void HAL_Timer16_SetPreload(Timer16_HandleTypeDef *htimer16, uint8_t Preload);
typedef struct


void HAL_Timer16_WaitARROK(Timer16_HandleTypeDef *htimer16);
{


void HAL_Timer16_WaitCMPOK(Timer16_HandleTypeDef *htimer16);
    uint8_t Source;         /* Источник тригера */


void HAL_Timer16_SetARR(Timer16_HandleTypeDef *htimer16, uint16_t Period);
    uint8_t ActiveEdge;     /* Активный фронт */


void HAL_Timer16_SetCMP(Timer16_HandleTypeDef *htimer16, uint16_t Compare);
    uint8_t TimeOut;        /* Функция тайм-аут */


void HAL_Timer16_ClearCMPFlag(Timer16_HandleTypeDef *htimer16);
} Timer16_TriggerConfigTypeDef;


void HAL_Timer16_SelectTrigger(Timer16_HandleTypeDef *htimer16, uint8_t TriggerSource);
typedef struct


void HAL_Timer16_SetTriggerEdge(Timer16_HandleTypeDef *htimer16, uint8_t TriggerEdge);
{


void HAL_Timer16_SetTimeOut(Timer16_HandleTypeDef *htimer16, uint8_t TimeOut);
    uint8_t ExternalClock;    /* Фильтр для внешнего тактового генератора */


void HAL_Timer16_SetFilterExternalClock(Timer16_HandleTypeDef *htimer16, uint8_t FilterExternalClock);
    uint8_t Trigger;          /* фильтр для триггера */


void HAL_Timer16_SetFilterTrigger(Timer16_HandleTypeDef *htimer16, uint8_t FilterTrigger);
} Timer16_FilterConfigTypeDef;


void HAL_Timer16_SetEncoderMode(Timer16_HandleTypeDef *htimer16, uint8_t EncoderMode);
typedef struct


void HAL_Timer16_Init(Timer16_HandleTypeDef *htimer16);
{


uint16_t HAL_Timer16_GetCounterValue(Timer16_HandleTypeDef *htimer16);
    TIMER16_TypeDef *Instance;       /* Базовый адрес регистров Timer16 */


uint8_t HAL_Timer16_CheckCMP(Timer16_HandleTypeDef *htimer16);
    Timer16_ClockConfigTypeDef Clock;        /* Настройки тактирования */


void HAL_Timer16_WaitCMP(Timer16_HandleTypeDef *htimer16);
    uint8_t CountMode;                       /* Источник синхронизации */


void HAL_Timer16_StartSingleMode(Timer16_HandleTypeDef *htimer16);
    uint8_t ActiveEdge;                      /* Активный фронт */


void HAL_Timer16_StartContinuousMode(Timer16_HandleTypeDef *htimer16);
    uint16_t Period;                         /* Верхнее значение счета */


void HAL_Timer16_InvertOutput(Timer16_HandleTypeDef *htimer16);
    uint8_t Preload;                         /* Режим записи в ARR и CMP */


void HAL_Timer16_StartPWM(Timer16_HandleTypeDef *htimer16, uint16_t Period, uint16_t Compare);
    Timer16_TriggerConfigTypeDef Trigger;    /* Настройки тригера */


void HAL_Timer16_StartOneShot(Timer16_HandleTypeDef *htimer16, uint16_t Period, uint16_t Compare);
    Timer16_FilterConfigTypeDef Filter;      /* Настройки фильтра */


void HAL_Timer16_StartSetOnes(Timer16_HandleTypeDef *htimer16, uint16_t Period, uint16_t Compare);
    uint8_t EncoderMode;                     /* Режим энкодера */


void HAL_Timer16_ClearTriggerFlag(Timer16_HandleTypeDef *htimer16);
   


void HAL_Timer16_WaitTrigger(Timer16_HandleTypeDef *htimer16);
} 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)'''

Версия от 11:38, 8 февраля 2023

Константы

Структуры

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)