烧录附件例子测试,例子通过串口跟P2口显示MCU工作状态
- P2M0 = 0x00; P2M1 = 0xff;
- P2IE = 0x00;
-
- printf("Sleep!\r\n"); //UART发送一个字符串
-
- PCON |= 0x02; //Sleep
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
-
- P2M0 = 0xff; P2M1 = 0x00;
- P2IE = 0x00;
- // P2 = 0x55;
-
- switch(Source)
- {
- case 0:
- P2 = 0x55;
- printf("INT0 Wakeup!\r\n");
- break;
- case 1:
- P2 = 0xaa;
- printf("INT1 Wakeup!\r\n");
- break;
- case 2:
- printf("INT2 Wakeup!\r\n");
- break;
- case 3:
- printf("INT3 Wakeup!\r\n");
- break;
- case 4:
- printf("INT4 Wakeup!\r\n");
- break;
- default:
- P2 = 0xff;
- printf("Other Wakeup!\r\n");
- break;
- }
复制代码
进入休眠前P2设置高阻输入,P2口连接LED灯全灭,通过不同唤醒源唤醒,P2口输出不同电平:
|