STM32F103中,外部中断的IRQHandler,EXTI0至EXTI1都是单独的,如图1所示;而从EXTI5至9则共用一个,如图2所示。这些可以通过Ctrl+F在全工程内查找。
以PB9为例,宏定义可如下配置:
// 定义同步触发信号TRIG输入GPIO
#define SIGTRIG_GPIO_PORT GPIOB /* GPIO端口 */
#define SIGTRIG_GPIO_CLK (RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO)
// RCC_APB2Periph_AFIO很重要不要遗忘了
/* GPIO端口时钟 */
#define SIGTRIG_GPIO_PIN GPIO_Pin_9
#define SIGTRIG_EXTI_PORTSOURCE GPIO_PortSourceGPIOB
#define SIGTRIG_EXTI_PINSOURCE GPIO_PinSource9
#define SIGTRIG_EXTI_LINE EXTI_Line9
#define SIGTRIG_EXTI_IRQ EXTI9_5_IRQn
#define SIGTRIG_IRQHandler EXTI9_5_IRQHandler
另外,记得在main函数中,初始化配置EXTI。
作者:潇洒的电磁波(专业:射频芯片设计、雷达系统、嵌入式。欢迎大家项目合作交流。)
微信:GuoFengDianZi