西奥伟 发表于 2018-12-12 14:48:17

toofree 发表于 2018-12-12 10:41
没有工程的代码不看,因为无法验证。手敲代码太累,也没有在纸上写程序的习惯。
ST的样例中,无论是上沿 ...

HAL库的中断服务函数里面做了IO判断的,只是它将这一步封装到了HAL_GPIO_EXTI_IRQHandler里面

西奥伟 发表于 2018-12-12 14:49:40

watershade 发表于 2018-12-12 12:12
我看了一下逻辑上应该没问题。代码也很工整。如果一直按着按键超过5秒,就认为是一次假的按键事件。如果短 ...

谢谢楼主的回答,我尝试一下

西奥伟 发表于 2018-12-12 14:52:00

qinlu123 发表于 2018-12-12 10:36
按键最好不要用外部中断模式,因为按一次按键会触发多次中断处理起来很麻烦。不妨试试我的驱动。 ...

谢谢前辈的指教,因为,我需要使用到外部中断唤醒STM32的低功耗模式

与龙共舞 发表于 2018-12-12 14:54:13

看上去有点晕 小事大办的感觉我已经开始用buttondriver了 遇到过一个问题:板子外面有电阻的 按键可以是浮空输入 外面没有电阻的 按键一定要上拉输入 你看看板子

西奥伟 发表于 2018-12-12 14:57:16

五哥1 发表于 2018-12-12 10:41
HAL库的,程序不完整,看的很累,分析,在DEBUG中能正常,但是在运行中又有问题,我认为有串口类的程序,执 ...

谢谢前辈的指教

xiaoshen-372360 发表于 2018-12-12 17:18:17

这个有问题的,不应该用外部中断来做计数而是增加定时器计数,外部中断触发之后,记录下当前中断的状态,开启定时器计数,计数器到了50ms之后,再去判断这个电平和开始记录的电平是否有变化,如果没有变化,将这值设置为有效值,如果有变化,说明外部干扰引起,舍弃该状态。

liu553824989 发表于 2018-12-13 08:56:38

加个RC电路就可以了

sincomaster 发表于 2018-12-14 09:04:47

学习了,谢谢

meiyao 发表于 2018-12-16 09:58:56

学习了,谢谢
页: 1 [2]
查看完整版本: STM32 外部中断按键控制问题