2025-11-08 05:33:41
STM32的中断点主要分布在两个地方:外设引脚和内部核心模块。外设比如GPIO、UART这些模块,当它们接收到信号或者完成操作时,会通过对应的引脚触发中断。内部核心模块比如NVIC(Nested Vectored Interrupt Controller),负责管理所有中断的优先级和跳转。就像你手机接到电话时,既要看屏幕提示(外设中断),又要让处理器快速响应(内部中断)。
为什么这么分呢?首先看硬件结构图(参考STM32F4参考手册P273),外设引脚对应中断引脚组,每个外设模块连着2-4个中断引脚。比如GPIOA的PA0-PA15每个引脚都能单独触发中断,但实际只有PA0-PA5和PA8-PA15支持。内部中断包括NVIC的16个优先级组(P0-P15),每个组对应不同中断源。比如系统时钟中断(SysClkInt)在P0组,而USB中断在P1组。数据手册明确说外设中断占全部中断源的70%,内部中断占30%。就像你同时处理朋友发来的消息(外设)和手机系统更新(内部),优先级不同处理方式也不同。
本题链接: