搜索

GD32F190 IO口中断问题

[复制链接]
161|11
 楼主 | 2021-3-1 16:46 | 显示全部楼层 |阅读模式
GD32F190系列单片机,IO口边沿触发中断,一次触发后多次进入中断函数,麻烦哪位大神出来指点指点。

使用特权

评论回复
 楼主 | 2021-3-1 16:51 | 显示全部楼层
代码如下:
                rcu_periph_clock_enable(RCU_CFGCMP);
                rcu_periph_clock_enable(RCU_GPIOC);
                gpio_mode_set(GPIOC,GPIO_MODE_INPUT,GPIO_PUPD_PULLDOWN,GPIO_PIN_1);       
                /* connect key EXTI line to key GPIO pin */
               syscfg_exti_line_config(EXTI_SOURCE_GPIOC, EXTI_SOURCE_PIN1);
                nvic_irq_enable(EXTI0_1_IRQn, 2U, 1U);
                /* configure key EXTI line */
                exti_init(EXTI_1, EXTI_INTERRUPT, EXTI_TRIG_RISING);
                exti_interrupt_enable(EXTI_1);
               exti_interrupt_flag_clear(EXTI_1);


void EXTI0_1_IRQHandler(void)
{
         if(SET == exti_interrupt_flag_get(EXTI_1))
         {
              exti_interrupt_flag_clear(EXTI_1);                       
        }
}

使用特权

评论回复
| 2021-3-1 22:16 | 显示全部楼层
heyu2903302017 发表于 2021-3-1 16:51
代码如下:
                rcu_periph_clock_enable(RCU_CFGCMP);
                rcu_periph_clock_enable(RCU_GPIOC);

在enable中断前因先清除标记位,而且还需检测您IO引脚上的电平是否是真的处于稳定状态。

另外,做为gd代理商,不建议您用F190这一系列。F170/F190都是原厂即将准备停产的芯片系列

使用特权

评论回复
| 2021-3-1 23:05 | 显示全部楼层
楼上还整挺诚实

使用特权

评论回复
 楼主 | 2021-3-2 11:18 | 显示全部楼层
勤劳的我 发表于 2021-3-1 22:16
在enable中断前因先清除标记位,而且还需检测您IO引脚上的电平是否是真的处于稳定状态。

另外,做为gd代 ...

将中断标志位放在中断使能前,前面描述的想象依然存在。现在的测试办法是在PC1口与工作电源之间直接连接的一按钮,按钮闭合后就会多次进入中断,有时候按钮断开时也会进入,谢谢您的回复。

使用特权

评论回复
| 2021-3-2 23:48 | 显示全部楼层
偶尔会有遇到这种问题 不是很好解决

使用特权

评论回复
| 2021-3-5 23:39 | 显示全部楼层
有时候会有干扰 不知道抗干扰这边做得怎么样

使用特权

评论回复
| 2021-4-4 11:41 | 显示全部楼层
可以做一下硬件防抖

使用特权

评论回复
| 2021-4-4 11:42 | 显示全部楼层
软件上处理一下

使用特权

评论回复
| 2021-4-4 11:44 | 显示全部楼层
有时候会有干扰

使用特权

评论回复
| 2021-4-4 11:46 | 显示全部楼层
硬件上如何连接的啊

使用特权

评论回复
| 2021-4-4 11:49 | 显示全部楼层
不是很好解决

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

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