update event更新中断打开,TIM2中断使能打开 。
主函数初始化:
HAL_TIM_IC_Start_IT(&htim2, TIM_CHANNEL_2); // 打开捕获中断
__HAL_TIM_ENABLE_IT(&htim2,TIM_IT_UPDATE); //使能定时器2中断
两个回调函数:
uint32_t capture;
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)//捕获中断
{
if(TIM2 == htim->Instance)
{
capture= HAL_TIM_ReadCapturedValue(&htim2,TIM_CHANNEL_2);//定时器寄存器值
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);//翻转灯看看
}
}
uint32_t timer=0;
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)//定时器中断
{
if (htim->Instance == TIM2)
{
timer++;//定时器中断次数
}
}