[STM32F1] 中断触发方式改变

[复制链接]
1039|25
 楼主| tian111 发表于 2021-4-12 20:20 | 显示全部楼层 |阅读模式
在外部中断函数中,能直接改变中断触发方式吗
huangchui 发表于 2021-4-12 20:23 | 显示全部楼层
什么意思?不是很明白你说的什么,能再解释一下这个现象吗
zhanghqi 发表于 2021-4-12 20:25 | 显示全部楼层
可以,重新初始化下;
zwll 发表于 2021-4-12 20:27 | 显示全部楼层
可以更改啊,比如把上升沿触发改为下降沿触发,出了中断处理函数之后下次再触发就是已更改之后的方式触发了。
 楼主| tian111 发表于 2021-4-12 20:29 | 显示全部楼层
比如我外部触发设置为上升沿触发,检测到上升沿中断然后进入中断函数中,把触发方式改为下降沿,反之改为下降沿
 楼主| tian111 发表于 2021-4-12 20:30 | 显示全部楼层

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 发表于 2021-4-12 20:32 | 显示全部楼层
这样也可以做成上升沿和下降沿同时触发中断,进入中断后根据引脚电平来判断是何种边沿中断
午夜粪车 发表于 2021-4-12 20:38 | 显示全部楼层
又是在中断中延时???!!!
zhaoxqi 发表于 2021-4-12 20:39 | 显示全部楼层
按键消抖可以用个定时器外部中断发生后定时10ms再去检测,这样在中断中用延时非常的不好,影响整个程序的响应时间
chuxh 发表于 2021-4-12 20:42 | 显示全部楼层
STC-ISP下载软件里有下降沿+上升沿触发示例程序
juventus9554 发表于 2021-4-12 20:46 | 显示全部楼层
在哪里呢中断里延时
zwll 发表于 2021-4-12 20:48 | 显示全部楼层
当然可以了啊
chuxh 发表于 2021-4-12 20:48 | 显示全部楼层
最大 1/24 fosc。 因为需要一个机器周期判断是高电平、一个机器周期判断是低电平。
renyaq 发表于 2021-4-12 20:50 | 显示全部楼层
当然可以了  不过改变的时刻要注意进行现场保护
xxrs 发表于 2021-4-12 20:52 | 显示全部楼层
毫无疑问可以啊
dengdc 发表于 2021-4-12 20:54 | 显示全部楼层
当然可以  不过需要做的小心点
lizye 发表于 2021-4-12 20:55 | 显示全部楼层
这个 涉及到优先级的问题吗
shimx 发表于 2021-4-12 20:58 | 显示全部楼层

那能改变中断本身的触发方式吗
午夜粪车 发表于 2021-4-12 21:01 | 显示全部楼层
感觉中可能是可以的
jiajs 发表于 2021-4-12 21:03 | 显示全部楼层
你好 想请教一下 我现在也是这么做的 改变触发沿的方式同时也改变上下拉的方式 但还是没有实现 请问要怎么实现呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

797

主题

8878

帖子

7

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