typedef struct
#endif
{
TIM_TypeDef *Instance;
TIM_Base_InitTypeDef Init;
HAL_TIM_ActiveChannel Channel;
DMA_HandleTypeDef *hdma[7];
HAL_LockTypeDef Lock;
__IO HAL_TIM_StateTypeDef State;
__IO HAL_TIM_ChannelStateTypeDef ChannelState[4];
__IO HAL_TIM_ChannelStateTypeDef ChannelNState[4];
__IO HAL_TIM_DMABurstStateTypeDef DMABurstState;
#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
void (* Base_MspInitCallback)(struct __TIM_HandleTypeDef *htim);
void (* Base_MspDeInitCallback)(struct __TIM_HandleTypeDef *htim);
void (* IC_MspInitCallback)(struct __TIM_HandleTypeDef *htim);
void (* IC_MspDeInitCallback)(struct __TIM_HandleTypeDef *htim);
void (* OC_MspInitCallback)(struct __TIM_HandleTypeDef *htim);
void (* OC_MspDeInitCallback)(struct __TIM_HandleTypeDef *htim);
void (* PWM_MspInitCallback)(struct __TIM_HandleTypeDef *htim);
void (* PWM_MspDeInitCallback)(struct __TIM_HandleTypeDef *htim);
void (* OnePulse_MspInitCallback)(struct __TIM_HandleTypeDef *htim);
void (* OnePulse_MspDeInitCallback)(struct __TIM_HandleTypeDef *htim);
void (* Encoder_MspInitCallback)(struct __TIM_HandleTypeDef *htim);
void (* Encoder_MspDeInitCallback)(struct __TIM_HandleTypeDef *htim);
void (* HallSensor_MspInitCallback)(struct __TIM_HandleTypeDef *htim);
void (* HallSensor_MspDeInitCallback)(struct __TIM_HandleTypeDef *htim);
void (* PeriodElapsedCallback)(struct __TIM_HandleTypeDef *htim);
void (* PeriodElapsedHalfCpltCallback)(struct __TIM_HandleTypeDef *htim);
void (* TriggerCallback)(struct __TIM_HandleTypeDef *htim);
void (* TriggerHalfCpltCallback)(struct __TIM_HandleTypeDef *htim);
void (* IC_CaptureCallback)(struct __TIM_HandleTypeDef *htim);
void (* IC_CaptureHalfCpltCallback)(struct __TIM_HandleTypeDef *htim);
void (* OC_DelayElapsedCallback)(struct __TIM_HandleTypeDef *htim);
void (* PWM_PulseFinishedCallback)(struct __TIM_HandleTypeDef *htim);
void (* PWM_PulseFinishedHalfCpltCallback)(struct __TIM_HandleTypeDef *htim);
void (* ErrorCallback)(struct __TIM_HandleTypeDef *htim);
void (* CommutationCallback)(struct __TIM_HandleTypeDef *htim);
void (* CommutationHalfCpltCallback)(struct __TIM_HandleTypeDef *htim);
void (* BreakCallback)(struct __TIM_HandleTypeDef *htim);
#endif
} TIM_HandleTypeDef;