② 三段式记忆(和 EXTI 完全同构):
定时器版: TIM2_IRQHandler → HAL_TIM_IRQHandler → HAL_TIM_PeriodElapsedCallback
按键版: EXTI15_10_IRQHandler → HAL_GPIO_EXTI_IRQHandler → HAL_GPIO_EXTI_Callback
结构: 硬件入口 → HAL 中转 → 你的回调记住一个模板,两个外设都通:
xxx_IRQHandler是入口(Cube 生成),HAL_xxx_IRQHandler是公共处理(清标志),HAL_xxx_Callback是你干活的地方。
③ 几个容易混的点:
Base:表示"基础计时",只数数不用 PWM 通道;以后学 PWM 是
HAL_TIM_PWM_Start;IT:Interrupt 的缩写,代表"中断方式"。还有不带 IT 的版本:
HAL_TIM_Base_Start()= 只启动计数,不产生中断(轮询用);HAL_TIM_Base_Start_IT()= 启动计数 + 开中断;
PeriodElapsed = "周期流逝/到点"——定时器数满一圈那一刻。以后串口还有
HAL_UART_RxCpltCallback(接收完成),都是"事件 + Callback"。
④ 一句话口诀:
启动用 Start_IT,入口找 IRQHandler,干活进 PeriodElapsedCallback;
定时器 = TIM + 事件名 + Callback,和按键中断同一套骨架。