Cortex-M23 和 Cortex-M0 一样使用 NVIC,没有分组的概念,即没有抢占优先级和响应优先级的概念,只有两位,可配置0 ~3 优先级。
数字越小,优先级越高。
中断号查询:

外部中断触发源:


GPIO 外部中断配置:
rcu_periph_clock_enable(RCU_GPIOA); // 打开GPIO时钟
rcu_periph_clock_enable(RCU_CFGCMP); // 打开系统配置时钟
gpio_mode_set(GPIOA, GPIO_MODE_INPUT, GPIO_PUPD_PULLDOWN, GPIO_PIN_1); // 配置引脚
nvic_irq_enable(EXTI0_1_IRQn, 1); // 设置 EXTI 中断优先级
syscfg_exti_line_config(EXTI_SOURCE_GPIOA, EXTI_SOURCE_PIN1); // EXTI 映射
exti_init(EXTI_1, EXTI_INTERRUPT, EXTI_TRIG_BOTH); // 配置 EXTI
exti_interrupt_enable(EXTI_1); // 使能 EXTIvoid EXTI0_1_IRQHandler(void)
{
if(exti_interrupt_flag_get(EXTI_1) == SET)
{
// 处理代码......
exti_interrupt_flag_clear(EXTI_1); // 清中断标志位
}
}中断处理函数在 startup_xxx.s 文件中查看。