Fix RF noise wake-up bug by sleeping with EA=0 and checking flags directly
This commit is contained in:
11
App/main.c
11
App/main.c
@@ -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; // 立即禁用,防止低电平保持期间反复触发
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user