6#ifndef __TIM_GENERAL_H_
7#define __TIM_GENERAL_H_
11#define HAL_TIM_MODULE_ENABLED
34#define TIM_IT_CONF_Pos 0
41#define TIM_IT_CONF (1<<(TIM_IT_CONF_Pos))
45#define TIM_Alternate_Mapping(INSTANCE) ((((INSTANCE) == TIM1) || ((INSTANCE) == TIM2))? GPIO_AF1_TIM1: \
46 (((INSTANCE) == TIM3) || ((INSTANCE) == TIM4) || ((INSTANCE) == TIM5))? GPIO_AF2_TIM3: \
47 (((INSTANCE) == TIM8) || ((INSTANCE) == TIM9) || ((INSTANCE) == TIM10) || ((INSTANCE) == TIM11))? GPIO_AF3_TIM8: \
48 (((INSTANCE) == TIM12) || ((INSTANCE) == TIM13) || ((INSTANCE) == TIM14))? GPIO_AF9_TIM12: \
59 TIM_IT_MODE = TIM_IT_CONF,
69 TIM_TickBase_10US = 10,
70 TIM_TickBase_100US = 100,
71 TIM_TickBase_1MS = 1000,
72 TIM_TickBase_10MS = 10000,
73 TIM_TickBase_100MS = 100000,
74}TIM_MHzTickBaseTypeDef;
78 TIM_HandleTypeDef htim;
79 TIM_ClockConfigTypeDef sClockSourceConfig;
80 TIM_SlaveConfigTypeDef sSlaveConfig;
81 TIM_MasterConfigTypeDef sMasterConfig;
82 TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig;
83 TIM_ITModeTypeDef sTimMode;
85 TIM_MHzTickBaseTypeDef sTickBaseUS;
86 uint8_t sTickBasePrescaler;
97 TIM_HandleTypeDef *htim;
98 TIM_Encoder_InitTypeDef sConfig;
101 uint32_t GPIO_PIN_TI1;
102 uint32_t GPIO_PIN_TI2;
103 uint32_t GPIO_PIN_SW;
112HAL_StatusTypeDef TIM_Output_PWM_Init(TIM_HandleTypeDef *htim, TIM_OC_InitTypeDef *sConfigOC, uint32_t TIM_CHANNEL, GPIO_TypeDef *GPIOx, uint32_t PWM_PIN);
114HAL_StatusTypeDef TIM_Encoder_Init(
TIM_EncoderTypeDef *henc1, TIM_HandleTypeDef *htim);
116HAL_StatusTypeDef TIM_OC_Comparator_Init(TIM_HandleTypeDef *htim, uint32_t TIM_CHANNEL);
118HAL_StatusTypeDef TIM_Delay_Start(TIM_HandleTypeDef *htim);
120HAL_StatusTypeDef TIM_Delay(TIM_HandleTypeDef *htim, uint16_t delay);
122HAL_StatusTypeDef TIM_Delay_NonBlocking(TIM_HandleTypeDef *htim, uint16_t delay);
124void TIM_Base_MspInit(TIM_HandleTypeDef* htim, TIM_ITModeTypeDef it_mode);
126void TIM_Base_MspDeInit(TIM_HandleTypeDef* htim);
Заголочный файл для дефайнов библиотеки MyLibsGeneral.