21cnsound 发表于 2024-12-8 17:12:18

1、不开外部中断时,短按、长按功能正常码?长按用5*50=250ms有点短,KEYLONGTIME建议改为200-300左右

2、开了外部中断,按键没反应---增加个空的外部中断0函数试一下:
void Int0_Isr(void) interrupt 0
{
}

3、关了外部中断,进入掉电模式不能唤醒----怎么没看到进入掉电模式的代码?

vb2002 发表于 2024-12-8 19:37:52

21cnsound 发表于 2024-12-8 17:12
1、不开外部中断时,短按、长按功能正常码?长按用5*50=250ms有点短,KEYLONGTIME建议改为200-300左右

2、 ...

1,完全正常
2,等会试试
3,我给删了..就加在刚进来或者任何时候关闭led时都行

我的思路是这样哦, 进来--打开中断--进入掉电-- 按下P32--唤醒掉电--关闭中断-- 下次关闭led前继续重复上面的程序-
结果不行!! 按道理应该是行得通的

vb2002 发表于 2024-12-8 20:19:58

21cnsound 发表于 2024-12-8 17:12
1、不开外部中断时,短按、长按功能正常码?长按用5*50=250ms有点短,KEYLONGTIME建议改为200-300左右

2、 ...

我靠,,好了..第二条方法可以了
加上按键中断的代码就好了.
现在可以中断,可以换挡,可以掉电唤醒了

21cnsound 发表于 2024-12-9 08:49:07

vb2002 发表于 2024-12-8 20:19
我靠,,好了..第二条方法可以了
加上按键中断的代码就好了.
现在可以中断,可以换挡,可以掉电唤醒了


你启用了外部中断(只是用来唤醒MCU),但没有外部中断函数,中断发生后程序还是会跳转到系统默认的中断向量指向的程序位置,算不算程序跑飞不知道,但逻辑肯定是不对的了。

vb2002 发表于 2024-12-9 10:05:41

21cnsound 发表于 2024-12-9 08:49
你启用了外部中断(只是用来唤醒MCU),但没有外部中断函数,中断发生后程序还是会跳转到系统默认的中断 ...

是的, 难怪程序有时候会古古怪怪的失灵.估计就是跑飞了把
页: 1 [2]
查看完整版本: 弄了个长按双击的按键代码,有点问题