Ex_NVIC_Config(GPIO_A,0,RTIR); //上升沿触发
Ex_NVIC_Config(GPIO_A,13,FTIR);//下降沿触发
Ex_NVIC_Config(GPIO_A,15,FTIR);//下降沿触发
MY_NVIC_Init(2,2,EXTI0_IRQChannel,2); //抢占2,子优先级2,组2
MY_NVIC_Init(2,1,EXTI15_10_IRQChannel,2);//抢占2,子优先级1,组2
这两个函数我明白,按键按下,检测到中断信号,但是就是不知道怎么就执行到
void EXTI0_IRQHandler(void)
{
delay_ms(10);//消抖
if(KEY2==1)
//按键2
{
LED0=!LED0;
LED1=!LED1;
}
EXTI->
R=1<<0; //清除LINE0上的中断标志位
}中。
void EXTI0_IRQHandler(void) 是怎么和 MY_NVIC_Init(2,2,EXTI0_IRQChannel,2); chan's产生联系的。
中断服务函数具体的代码是放在哪里的是紧接着中断服务函数所在地址吗?我看没个中断服务函数就相邻四个字节,这点空间怎么够放得下函数内容?还是说到了中断服务函数所在地址以后再重新指向一个新的地址里,那里存放着中断函数的实体?
一周热门 更多>