微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 在外部中断函数中,能直接改变中断触发方式吗

在外部中断函数中,能直接改变中断触发方式吗

时间:10-02 整理:3721RD 点击:
比如我外部触发设置为上升沿触发,检测到上升沿中断然后进入中断函数中,把触发方式改为下降沿,反之改为下降沿
void EXTI0_IRQHandler(void)
{
        delay_ms(10);//消抖
        if(WK_UP==1)                  //WK_UP按键
        {        ..                         
                EXTI->FTSR|=1<<0; //改为下降沿
                ....
        }
        else if(WK_UP==1)                  //WK_UP按键
        {        ..                         
                EXTI->RTSR|=1<<0;   //改为上升沿
                ..
        }
        EXTI_ClearITPendingBit(EXTI_Line0); //清除LINE0上的中断标志位  
}

这样也可以做成上升沿和下降沿同时触发中断,进入中断后根据引脚电平来判断是何种边沿中断

这样和我要设计的思路不符

哎,又是在中断中延时,按键消抖可以用个定时器外部中断发生后定时10ms再去检测,这样在中断中用延时非常的不好,影响整个程序的响应时间

STC-ISP下载软件里有下降沿+上升沿触发示例程序

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top