打印

中断标志位无法清除

[复制链接]
987|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hjz21|  楼主 | 2023-9-6 12:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,
我用GD32F150,
这个是中断处理,
void  EXTI4_15_IRQHandler (void)
{
        if (RESET != exti_interrupt_flag_get(EXTI_14))
        {
                IrqProcessPok();
                exti_interrupt_flag_clear(EXTI_14);
        }       
}

PC14脚配置为输入,上来,
for (i=0; i<NUM_INPUT_PINPORT; i++)
{
        rcu_periph_clock_enable(GPIO_CLK_Input[i]);
        gpio_mode_set(GPIO_PORT_Input[i], GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, GPIO_PIN_Input[i]);       
}

示波器显示PC14脚位高电平,但打开中断的时候,PC14的中断一直进入,
而且exti_interrupt_flag_clear(EXTI_14)无法清除EXTI_PD标志位。

不知道为什么,请高手指点一下,谢谢。

使用特权

评论回复
沙发
Bowclad| | 2023-9-27 20:59 | 只看该作者
清除标志位代码是不有问题啊

使用特权

评论回复
板凳
Undshing| | 2023-9-27 21:22 | 只看该作者
还有其他中断在工作吗

使用特权

评论回复
地板
hfdy01| | 2023-10-22 10:20 | 只看该作者
完成中断处理程序后,它就继续再进中断,根本不会回到主程序

使用特权

评论回复
5
cr315| | 2023-10-30 14:35 | 只看该作者
可能是中断服务函数未正确处理

使用特权

评论回复
6
两只袜子| | 2023-10-30 14:35 | 只看该作者
在某些情况下,中断可能被屏蔽,这意味着即使中断发生,它的标志位也不会被设置,因此也就无法清除。

使用特权

评论回复
7
elephant00| | 2023-10-30 14:35 | 只看该作者
如果硬件出现故障,例如内存损坏或者CPU出现错误,那么可能会导致中断标志位无法被清除。

使用特权

评论回复
8
SantaBunny| | 2023-10-31 21:30 | 只看该作者
是不是中断服务函数没有正确处理

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

32

主题

147

帖子

1

粉丝