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
Желаемая частота таймера