[应用相关] 中断触发方式改变

[复制链接]
1775|19
 楼主| tian111 发表于 2019-1-10 11:03 | 显示全部楼层 |阅读模式
在外部中断函数中,能直接改变中断触发方式吗
huangchui 发表于 2019-1-10 11:06 | 显示全部楼层

什么意思?不是很明白你说的什么,能再解释一下这个现象吗
mmuuss586 发表于 2019-1-10 13:01 | 显示全部楼层
可以,重新初始化下;
dsdfdcdx 发表于 2019-1-10 16:48 | 显示全部楼层
可以更改啊,比如把上升沿触发改为下降沿触发,出了中断处理函数之后下次再触发就是已更改之后的方式触发了。
 楼主| tian111 发表于 2019-1-10 17:26 | 显示全部楼层
比如我外部触发设置为上升沿触发,检测到上升沿中断然后进入中断函数中,把触发方式改为下降沿,反之改为下降沿
 楼主| tian111 发表于 2019-1-10 17:29 | 显示全部楼层
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上的中断标志位  
}
huangchui 发表于 2019-1-10 17:34 | 显示全部楼层
这样也可以做成上升沿和下降沿同时触发中断,进入中断后根据引脚电平来判断是何种边沿中断
午夜粪车 发表于 2019-1-10 17:38 | 显示全部楼层
又是在中断中延时???!!!
zhaoxqi 发表于 2019-1-10 17:43 | 显示全部楼层
按键消抖可以用个定时器外部中断发生后定时10ms再去检测,这样在中断中用延时非常的不好,影响整个程序的响应时间
chuxh 发表于 2019-1-10 17:47 | 显示全部楼层
STC-ISP下载软件里有下降沿+上升沿触发示例程序
juventus9554 发表于 2019-1-10 17:51 | 显示全部楼层
在哪里呢中断里延时
 楼主| tian111 发表于 2019-1-10 17:55 | 显示全部楼层

好的,我明天去单位试一下,多谢各位大侠了哈,结贴了先
八层楼 发表于 2019-2-1 12:13 | 显示全部楼层
当然可以了啊
guanjiaer 发表于 2019-2-1 12:45 | 显示全部楼层
当然可以了  不过改变的时刻要注意进行现场保护
heimaojingzhang 发表于 2019-2-1 14:40 | 显示全部楼层
毫无疑问可以啊
keaibukelian 发表于 2019-2-1 14:46 | 显示全部楼层
当然可以  不过需要做的小心点
labasi 发表于 2019-2-1 15:39 | 显示全部楼层
这个 涉及到优先级的问题吗
paotangsan 发表于 2019-2-1 16:14 | 显示全部楼层
那能改变中断本身的触发方式吗
renzheshengui 发表于 2019-2-1 16:22 | 显示全部楼层
感觉中可能是可以的
辣鸡小白 发表于 2019-6-6 22:52 | 显示全部楼层
tian111 发表于 2019-1-10 17:29
void EXTI0_IRQHandler(void)
{
        delay_ms(10);//消抖

你好 想请教一下 我现在也是这么做的 改变触发沿的方式同时也改变上下拉的方式 但还是没有实现 请问要怎么实现呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

797

主题

8878

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部