MSPM0G3507开发板滴答定时器一直卡在while死循环不进中断函数,调试时发现一直处在while(delay_time != 0);一句



MSPM0G3507开发板滴答定时器一直卡在while死循环不进中断函数,调试时发现一直处在while(delay_time != 0);一句



关注让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言问题分析:
// 定时器初始化配置
TIM_HandleTypeDef htim;
htim.Instance = TIM2;
htim.Init.Prescaler = 1000;
htim.Init.Period = 1000;
htim.Init.CounterMode = TIM_COUNTERMODE_UP;
htim.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim.Init.RepetitionCounter = 0;
HAL_TIM_Base_Init(&htim);
// 中断使能和优先级设置
HAL_NVIC_SetPriority(TIM2_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(TIM2_IRQn);
// 定时器中断服务函数
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if (htim->Instance == TIM2)
{
// 在这里编写定时器中断服务函数的内容
}
}
以上是一般的定时器配置和中断处理步骤,具体情况具体分析,还需根据实际情况进行调试和处理。