fix: 仅在 Wakeup_Restore 开头加入按键计数清零与 PWR_HOLD 强拉高,彻底解决电池供电下唤醒瞬间电压拉低误判关机的问题

This commit is contained in:
2026-07-30 15:44:52 +08:00
parent 41bb78aa59
commit 9d9b2b664d

View File

@@ -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;