STM32F103C8T6--外部中断

        EXTI可以监测指定GPIO口的电平信号,当其指定的GPIO口产生电平变化时,EXTI将立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行EXTI对应的中断程序 

    

引脚映射

        同号 GPIO 引脚共享一条 EXTI 线(例如 PA0、PB0、PC0 等共用 EXTI0 线),即同一时刻只能有一个同号引脚映射到 EXTI 线。

        通过 AFIO 的 EXTICR 寄存器(外部中断配置寄存器)指定引脚映射到 EXTI 线:

GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0);  // PA0 → EXTI0

触发方式

可配置为 3 种触发方式,通过 EXTI 的寄存器控制:

  • 上升沿触发(检测到引脚从低电平→高电平);
  • 下降沿触发(检测到引脚从高电平→低电平);
  • 双边沿触发(上升沿和下降沿均触发)。

软件中断事件寄存器可以软件手动给一个中断信号。

触发传到请求挂起寄存器,引脚对应位写1,中断屏蔽寄存器对应位为1表示中断请求开放。

NVIC

EXTI 中断需通过 NVIC(嵌套向量中断控制器)使能并设置优先级,通道分配规则:

  • EXTI0~EXTI4:独立中断通道(如 EXTI0 对应 EXTI0_IRQn);
  • EXTI5~EXTI9:共享一个中断通道(EXTI9_5_IRQn);
  • EXTI10~EXTI15:共享一个中断通道(EXTI15_10_IRQn)。

posted @ 2025-10-25 15:18  mc12356  阅读(114)  评论(0)    收藏  举报  来源