HAL Timer16: различия между версиями
Андрей (обсуждение | вклад) Нет описания правки |
Андрей (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
''' | == '''Константы''' == | ||
== | == '''Структуры''' == | ||
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; /* Режим энкодера */ | |||
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)