跳转至

低功耗下唤醒触发机制*

PMU_CTRL 是 电源管理单元的控制模块,用于控制PMU、MUC的整体工作,软件可以通过操作PMU_CTRL 模块对 MCU 进行一系列操作,包括时钟控制、电源控制、复位控制等。PMU_CTRL在系统中的位置如下:

  • 支持以下唤醒方式

  • GPIO 中断唤醒

  • RTC 中断唤醒

  • AUDIO_IN 中断唤醒

  • HW_I2C 中断唤醒

由于应用中,更经常使用的是 GPIO 唤醒,比如遥控器产品,按键唤醒动作。

下面针对这个场景进行简单说明。

LvpPmuSuspend(LRT_GPIO | LRT_AUDIO_IN | LRT_I2C);

int LvpPmuSuspend(int type) 这个API接口,是设置8002进入低功耗后,可以通过什么方式被唤醒。如果只想保留GPIO唤醒,那么如下使用即可:

LvpPmuSuspend(LRT_GPIO);

8002任何一个管脚,配置为GPIO的话,即可支持低功耗唤醒。但是使用的时候,务必要配置为中断的方式。代码示例如下:

padmux_set(3, 1); // 设置GPIO03作为GPIO模式
// GPIO03上升沿出发中断,带参数出发中断
gx_gpio_enable_trigger(3, GX_GPIO_TRIGGER_EDGE_RISING, NULL, NULL);