初级会员

- 积分
- 166
- 金钱
- 166
- 注册时间
- 2016-4-2
- 在线时间
- 42 小时
|
1金钱
各位朋友大家好:
EXTI_InitStructure.EXTI_Line=EXTI_Line2; //KEY2
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure); //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器
void EXTI2_IRQHandler(void)
{
delay_ms(10);//消抖
if(KEY2==0) //按键KEY2
{
LED0=!LED0;
}
EXTI_ClearITPendingBit(EXTI_Line2); //清除LINE2上的中断标志位
看了原子哥的第28讲外部中断视频,有一个小疑问: 不是触发了中断,才会进入执行中断服务函数的吗?
那么是不是可以理解为:配置了分时复用之后,key2 对应的io口 ,既能触发中断,又能被寄存器读取io口的即时值?
|
|