From 9d9b2b664d62d51e85e7ea98f0a2d775791c78f9 Mon Sep 17 00:00:00 2001 From: zouhaitao Date: Thu, 30 Jul 2026 15:44:52 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BB=85=E5=9C=A8=20Wakeup=5FRestore=20?= =?UTF-8?q?=E5=BC=80=E5=A4=B4=E5=8A=A0=E5=85=A5=E6=8C=89=E9=94=AE=E8=AE=A1?= =?UTF-8?q?=E6=95=B0=E6=B8=85=E9=9B=B6=E4=B8=8E=20PWR=5FHOLD=20=E5=BC=BA?= =?UTF-8?q?=E6=8B=89=E9=AB=98=EF=BC=8C=E5=BD=BB=E5=BA=95=E8=A7=A3=E5=86=B3?= =?UTF-8?q?=E7=94=B5=E6=B1=A0=E4=BE=9B=E7=94=B5=E4=B8=8B=E5=94=A4=E9=86=92?= =?UTF-8?q?=E7=9E=AC=E9=97=B4=E7=94=B5=E5=8E=8B=E6=8B=89=E4=BD=8E=E8=AF=AF?= =?UTF-8?q?=E5=88=A4=E5=85=B3=E6=9C=BA=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App/system.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/App/system.c b/App/system.c index 3b2abbf..acb3131 100644 --- a/App/system.c +++ b/App/system.c @@ -382,6 +382,22 @@ void Enter_Low_Power_Sleep(void) */ void Wakeup_Restore(void) { + // 双保险 1:强行复位所有按键状态机的计数器,防止唤醒瞬间的瞬态误读累积导致长按关机 + extern volatile u16 key_up_hold; + extern volatile u16 key_down_hold; + extern volatile u16 key_confirm_hold; + extern volatile u16 key_sos_hold; + extern volatile u16 comb_hold; + + key_up_hold = 0; + key_down_hold = 0; + key_confirm_hold = 0; + key_sos_hold = 0; + comb_hold = 0; + + // 双保险 2:强保电源锁存引脚输出为高,严防瞬态抖动 + PWR_HOLD = 1; + EAXFR = 1; // 1. 立即关闭所有掉电外部中断允许与唤醒允许,防止重入 P0INTE = 0x00;