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)''' | ||
Версия 14: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)