GD32F1系列同时使用多个GPIO外部中断

关于GD32F1系列同时使用多个GPIO外部中断时的数据详解

1、中断优先级分组和抢占优先级/响应优先级

① 优先级分组
NVIC_PRIGROUP_PRE0_SUB4: 0 bit 抢占优先级 ,4 bit 子优先级 
NVIC_PRIGROUP_PRE1_SUB3: 1 bit 抢占优先级 ,3 bit 子优先级
NVIC_PRIGROUP_PRE2_SUB2: 2 bit 抢占优先级 ,2 bit 子优先级
NVIC_PRIGROUP_PRE3_SUB1: 3 bit 抢占优先级 ,1 bit 子优先级
NVIC_PRIGROUP_PRE4_SUB0: 4 bit 抢占优先级 ,0 bit 子优先级 

 注:整个系统执行过程中,只需设置一次中断分组

②抢占优先级/响应优先级区别
* 高优先级的抢占优先级是可以打断正在进行的低抢占优先级中断的
* 抢占优先级相同的中断,高响应优先级不可以打断低响应优先级的中断
* 抢占优先级相同的中断,当两个中断同时发生的情况下,哪个响应优先级高,哪个先执行
* 如果两个中断的抢占优先级和响应优先级都是一样的话,则看哪个中断先发生就先执行

2、GPIO外部中断对应EXTI Line 0~15,共16个

PA0,PB0........,PG0对应EXTI0;

PA1,PB1........,PG1对应EXTI1;

................

PA15,PB15........,PG0对应EXTI15;

注:例如:PA0占用EXTI0后,就不可再使用PB0~PG0开启GPIO中断

3、中断函数名

EXTI10~EXTI15对应中断子函数名:EXTI10_15_IRQHandler

<

你可能感兴趣的:(GD32,单片机,嵌入式硬件)