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

2019-07-14 19:16发布

比如我外部触发设置为上升沿触发,检测到上升沿中断然后进入中断函数中,把触发方式改为下降沿,反之改为下降沿
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上的中断标志位  
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
a06041114
1楼-- · 2019-07-14 23:48
人中狼 发表于 2017-9-14 19:09
这样也可以做成上升沿和下降沿同时触发中断,进入中断后根据引脚电平来判断是何种边沿中断

这样和我要设计的思路不符
meimengxing2014
2楼-- · 2019-07-15 02:59
哎,又是在中断中延时,按键消抖可以用个定时器外部中断发生后定时10ms再去检测,这样在中断中用延时非常的不好,影响整个程序的响应时间
wulinwl
3楼-- · 2019-07-15 05:16
STC-ISP下载软件里有下降沿+上升沿触发示例程序

一周热门 更多>