hw\u wkup\u reset\u中断不能重置中断,保持循环并挂起

⚠️
你好。。谢谢你来参加论坛。令人兴奋的消息!我们现在正在移动到我们的新论坛平台,将提供更好的功能,并包含在主对话网站的过程。所有帖子和账号都已迁移。我们现在只接受新论坛上的流量-请在//www.xmece.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
2个职位/0个新职位
最后一篇文章
肯冲
离线
最后一次见到:2年9个月前
已加入:2016-10-15 05:40
hw\u wkup\u reset\u中断不能重置中断,保持循环并挂起

尊敬的先生:,
我只是在开发工具包中设置了一个演示,当K1按下retargetuart中的debug msg时,但是一旦按下按钮,中断就会继续运行并且不会重置,我该怎么办?谢谢
代码如下:

静态void periph\u init(void)
...
printf(“hw\u wkup\u init\r\n”);
hw\u wkup\u init(空);

/*
*计数器阈值的默认值为0。在此之前更改此值很重要
*中断被注册,否则由于以下原因中断将被无限期触发
*计数器值等于阈值。
*/
硬件工作设置计数器阈值(1);
hw\u wkup\u寄存器\u中断(wkup\u intr\u cb,1);

硬件gpio\设置\引脚\功能(硬件gpio\端口\ 1、硬件gpio\引脚\ 6、硬件gpio\模式\输入\上拉、硬件gpio\功能\ gpio)//按钮K1
hw\u wkup \u configure \u pin(hw\u GPIO \u PORT \u 1,hw\u GPIO \u pin \u 6,true,hw\u wkup \u pin \u STATE \u LOW);
}
静态无效工作\u intr\u cb(无效)
{
hw_wkup_reset_interrupt();
printf(“唤醒中断触发\r\n”);
}

结果:
触发唤醒中断
触发唤醒中断
触发唤醒中断
触发唤醒中断
触发唤醒中断
触发唤醒中断
触发唤醒中断
触发唤醒中断
触发唤醒中断
触发唤醒中断
触发唤醒中断
触发唤醒中断
.... x n次并挂起

设备:
MT\u对话框
离线
最后一次见到:3个月2天前
工作人员
已加入:2015-06-08 11:34
你好,Ken Chong,

你好,Ken Chong,

从您所报告的内容来看,我会说您不会在触发中断时重置中断,但我可以看到在回调中您调用了hw_wkup_reset_interrupt();因此,请检查设备是否确实在回调命中时重置中断,并检查触发中断的行的状态,也许这就是反复触发中断的原因。另外,hrp\u传感器的例子有一个如何实现外部中断功能的实现,所以请看一下这个例子。

谢谢你的对话