20#ifndef __TIM_GENERAL_H_
21#define __TIM_GENERAL_H_
31#define HAL_TIM_MODULE_ENABLED
56#define TIM_IT_CONF_Pos 0
63#define TIM_IT_CONF (1<<(TIM_IT_CONF_Pos))
167HAL_StatusTypeDef
TIM_Output_PWM_Init(TIM_HandleTypeDef *htim, TIM_OC_InitTypeDef *sConfigOC, uint32_t TIM_CHANNEL, GPIO_TypeDef *GPIOx, uint32_t PWM_PIN);
199HAL_StatusTypeDef
TIM_Delay(TIM_HandleTypeDef *htim, uint16_t delay);
Заголовочный файл для модуля инициализации портов и работы с ними.
HAL_StatusTypeDef TIM_Delay_NonBlocking(TIM_HandleTypeDef *htim, uint16_t delay)
Задержка в тиках таймера (неблокирующая).
HAL_StatusTypeDef TIM_Delay_Start(TIM_HandleTypeDef *htim)
Начать отсчет неблокирующей задержки.
HAL_StatusTypeDef TIM_Delay(TIM_HandleTypeDef *htim, uint16_t delay)
Задержка в тиках таймера (блокирующая).
int TIM_Encoder_ReadSwitch(TIM_EncoderTypeDef *henc)
Считать кнопку энкодера.
HAL_StatusTypeDef TIM_Encoder_Init(TIM_EncoderTypeDef *henc1, TIM_HandleTypeDef *htim)
Инициализация режима энкодер у таймера.
HAL_StatusTypeDef TIM_Encoder_Read(TIM_EncoderTypeDef *henc)
Считать энкодер.
HAL_StatusTypeDef TIM_Base_Init(TIM_SettingsTypeDef *stim)
Инициализация таймера.
void TIM_Base_MspDeInit(TIM_HandleTypeDef *htim)
Деинициализация CLK и NVIC таймеров.
TIM_MHzTickBaseTypeDef
Длительность тика таймера (частота тактирования таймера)
void TIM_Base_MspInit(TIM_HandleTypeDef *htim, TIM_ITModeTypeDef it_mode)
Инициализация CLK и NVIC таймеров.
TIM_ITModeTypeDef
Режим прерываний таймера
@ TIM_TickBase_10US
Таймер тактируется с частотой 100 кГц
@ TIM_TickBase_100US
Таймер тактируется с частотой 10 кГц
@ TIM_TickBase_100MS
Таймер тактируется с частотой 10 Гц
@ TIM_TickBase_1US
Таймер тактируется с частотой 1 МГц
@ TIM_TickBase_1MS
Таймер тактируется с частотой 1 кГц
@ TIM_TickBase_10MS
Таймер тактируется с частотой 100 Гц
@ TIM_Base_Disable
Таймер отключен
@ TIM_IT_MODE
Прерываний включены
@ TIM_DEFAULT
Прерываний отключены
HAL_StatusTypeDef TIM_Output_PWM_Init(TIM_HandleTypeDef *htim, TIM_OC_InitTypeDef *sConfigOC, uint32_t TIM_CHANNEL, GPIO_TypeDef *GPIOx, uint32_t PWM_PIN)
Инициализация выхода ШИМ таймера.
HAL_StatusTypeDef TIM_OC_Comparator_Init(TIM_HandleTypeDef *htim, uint32_t TIM_CHANNEL)
Инициализация OC компаратора таймера.
Заголочный файл для дефайнов библиотеки MyLibsGeneral.
Структура инициализации енкодера
TIM_Encoder_InitTypeDef sConfig
Указатель на структуру настройки энкодера
uint16_t Encoder_Shdw
Последние считанные тики
uint32_t GPIO_PIN_TI1
Пин, куда подключается канал TI1.
uint32_t GPIO_PIN_TI2
Пин, куда подключается канал TI2.
uint32_t GPIO_PIN_SW
Пин, куда кнопка энкодера (если есть)
int16_t Encoder_Diff
Считанная разница
GPIO_SwitchTypeDef Sw
Структура кнопки
GPIO_TypeDef * GPIOx
Порт, куда подключается энкодер
TIM_HandleTypeDef * htim
Указатель на HAL handle таймера
Структура инициализации таймера
uint8_t sTickBasePrescaler
Дополнительный делитель, для удобного деления sTickBaseUS.
TIM_MasterConfigTypeDef sMasterConfig
Настройки мастер режима таймера
TIM_ClockConfigTypeDef sClockSourceConfig
Настройки тактирования таймера
TIM_MHzTickBaseTypeDef sTickBaseUS
Длительность одного тика
float sTimAHBFreqMHz
Частота шины тактирования таймера
TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig
Настройки дедтаймов таймера
TIM_SlaveConfigTypeDef sSlaveConfig
Настройки слейв режима таймера
TIM_ITModeTypeDef sTimMode
Настройки прерывания таймера
TIM_HandleTypeDef htim
HAL handle таймера
float sTimFreqHz
Желаемая частота таймера