2025-11-08 05:40:19
中断就像手机突然弹出紧急通知一样突然发生,用来告诉CPU现在有重要事情要处理。STM32的PB3引脚要当中断引脚用,得先把它设成上电默认的浮空输入模式,然后通过AFIO把外设功能映射到GPIOB,在NVIC里开这个中断通道。
为啥要这样搞呢?首先PB3默认是GPIOB的引脚,但中断需要AFIO的配置来切换外设功能,就像换手机卡槽才能用5G一样。查手册看到GPIOB的AFIO映射里,PB3对应的是外部中断线0,所以得用RCC_APB2PeriphClockCmd使能AFIO时钟。接着看NVIC优先级分组,STM32F1的默认分组是0,所以直接开GPIOB的外部中断0即可。数据表里写明PB3的中断向量号是0x08,NVIC的优先级寄存器地址是0x20010008,这得在代码里写对。记得在中断服务函数里用NVIC_ClearPendingBit清除中断标志,不然会一直响铃。
本题链接: