Fix RF noise wake-up bug by sleeping with EA=0 and checking flags directly

This commit is contained in:
Antigravity IDE
2026-07-15 17:16:56 +08:00
parent 601e01e954
commit 7292fd0fcb
3 changed files with 8 additions and 30 deletions

View File

@@ -38,9 +38,6 @@ volatile u16 key_confirm_hold = 0;
volatile u16 key_sos_hold = 0;
volatile u16 comb_hold = 0;
volatile u8 isr_p0_flag = 0;
volatile u8 isr_p2_flag = 0;
/* =========================================================================
* 串口调试指令解析与事件派发封装
* ========================================================================= */
@@ -197,17 +194,9 @@ void main(void)
// Port0 中断服务函数 (由 isr_jump.asm 从向量 37 @ 0x012BH 跳转至此)
void Port0_Isr(void) interrupt 13
{
EAXFR = 1;
isr_p0_flag = P0INTF;
P0INTF = 0x00; // 清除 P0 端口中断悬挂标志
P0INTE = 0x00; // 立即禁用,防止低电平保持期间反复触发
}
// Port2 中断服务函数 (由 isr_jump.asm 从向量 39 @ 0x013BH 跳转至此)
void Port2_Isr(void) interrupt 15
{
EAXFR = 1;
isr_p2_flag = P2INTF;
P2INTF = 0x00; // 清除 P2 端口中断悬挂标志
P2INTE = 0x00; // 立即禁用,防止低电平保持期间反复触发
}