当前文档版本为 v0.3.0,您可以访问当前页面的 开发中 版本以获取最近可能的更新。

lp_sleep例程

1 功能概述

本例程主要演示 EVB gpio/uart 唤醒处于sleep状态MCU的简单例程,mcu进入sleep状态之后,通过串口工具向mcu发送一个字符或者按下KEY1即可唤醒mcu, mcu被唤醒后,点亮蓝色LED,1秒后熄灭蓝色LED,MCU再次进入sleep状态,以上过程循环。

注:KEY1对应P1_5;RGB蓝色指示灯对应P1_2

2 环境要求

  • Board: PAN2628b1_evb

  • 将 J17 单刀双掷开关拔至PWM1侧,将P1_2与RGB蓝色指示灯控制引脚相连

  • 将 J18(P3_0) 开关拔至RX侧,将P3_0与uart的RX引脚相连

  • 将 J19(P3_1) 开关拔至TX侧,将P3_1与uart的TX引脚相连

  • KEY1 独占 P1_5,不需要拔开关

3 编译和烧录

例程位置:pan2628_dk\01_SDK\example_basic\lp\lp_sleep

打开目录下keil下的lp_sleep.uvprojx工程,编译整个代码工程。

注意烧写此工程代码后,若要再次烧写代码必须要按下RST KEY后2秒内进行烧写,否则MCU进入低功耗后,无法进行代码烧写

4 演示说明

根据环境要求一节的介绍,正确连接 EVB 开发板的跳线,编译、下载代码后:

  1. 在电脑上打开串口调试工具,串口参数:115200/8bit/1stop/无校验

  2. 按下RST复位KEY,复位MCU

  3. 通过串口工具向MCU发送字符“A”,观察蓝色led是否亮1秒

  4. 不断按下KEY1,观察蓝色led灯是否被KEY1事件点亮1秒

串口输出信息如下:

lp sleep test.
AAAA

5 开发说明

通过调用 lp.c中的LP_ExIntSourceSelect()、WakeupGpioConfig()等函数接口来实现sleep低功耗功能,详细请查阅代码。

 /** Config EXTERN_INT0/1 as wakeup interrupt */
 LP_ExIntSourceSelect(INT_SEL_WAKEUP);

 /** Config P16 as wakeup pin */
 LP_WakeupGpioConfig(GPIO_PORT1, GPIO_Pin_6, GPIO_LOW);
 LP_WakeupGpioEnable(GPIO_PORT1, GPIO_Pin_6, ENABLE);

6 RAM/Flash资源使用情况

Program Size: data=31.2 xdata=0 const=25 code=2483