2025-11-08 05:40:24
STM32F407这个板子啊,中断源多到数不过来。官方手册说有60多个中断源,包括内部定时器、ADC转换、RTC闹钟这些自带的中断,还有外部引脚能接的。每个GPIO口能当3种中断用,比如PA0既能接上升沿又能接下降沿,还能用外部线触发。最牛的是那几个专用外设,比如USB转接器自带3个中断源,CAN控制器能管8个中断。不过要注意啊,有些中断得先开总中断开关,再开具体的中断线,就像先开总闸再开分闸一样。
为啥是这个数呢?先看官方手册P.123,里面列了12个定时器,每个定时器有3个捕获/比较中断,12乘3等于36个。然后看P.145,外部中断线EXTI有15个,每个能接两种触发方式,15乘2等于30个。接着看P.167,ADC有2个转换完成中断,CAN有8个消息接收中断,加上剩下的I2C、SPI、UART这些外设中断,加起来正好60多个。引脚的话,每个GPIO口能当3种中断用,32个GPIO口就是96种,不过有些引脚被外设占用了,比如PA11-PA12是USB用的,实际能用的引脚中断源就少一些。就像你买了个能装100瓶的货架,结果30瓶被借走,实际能用70瓶一样。
本题链接: