进入 sleep 模式用下面的函数:
void tls_pmu_sleep_start () ;
进入 sleep mode 后功耗大概 2ma 左右把, 外部中断和定时器可唤醒;
进入 standby 模式, 用下面的函数:
void tls_pmu_standby_start (void) ;
进入 standby 模式后功耗应该是 uA 级别的, 外部中断和定时器可唤醒;
实测进入 standby 模式唤醒后会复位;
下面给个唤醒的例子参考
进入低功耗:
tls_pmu_timer1_isr_register (tickless_timer_irq_handler, 0) ;
tls_pmu_timer1_start (500) ; // 500ms 后唤醒
tls_pmu_sleep_start () ;
// 中断服务函数
ATTRIBUTE_ISR void PMU_IRQHandler (void)
{
if (tls_reg_read32 (HR_PMU_INTERRUPT_SRC) & BIT (1) ) /* timer1 interrupt */
{
PMU_TIMER1_IRQHandler () ;
}
}
void tickless_timer_irq_handler (void *arg)
{
// 唤醒后关闭定时器
tls_pmu_timer1_stop () ;
}
您好, 我想请教下, w801 能从外部 io 唤醒吗, 我看它不像 w806, 没有这个 wakeio 口