【已解决】ty_system_enter_sleep,无法唤醒
您好,
pid: uhklkabf
一、问题:进入ty_system_enter_sleep,无法唤醒。
二、需求:需要唤醒条件:gpio和RTC唤醒两种方式;
三、代码配置:
(1)配置唤醒引脚,
static void isr_wakeup_pin(void)
{
pmu_set_gpio_value(GPIO_PORT_D, BIT(4), 0);
pmu_set_pin_pull(GPIO_PORT_D, BIT(4), true);
pmu_port_wakeup_func_set(GPIO_PD4);
}
(2)pmu中断
attribute((section("ram_code"))) void pmu_gpio_isr_ram(void)
{
uint32_t gpio_value = ool_read32(PMU_REG_GPIOA_V);
// button_toggle_detected(gpio_value);
co_printf("pmu_gpio_isr_ram\r\n");
ool_write32(PMU_REG_PORTA_LAST, gpio_value);
}
(3)pmu中断配置
pmu_enable_irq(PMU_ISR_BIT_ACOK | PMU_ISR_BIT_ACOFF | PMU_ISR_BIT_ONKEY_PO | PMU_ISR_BIT_OTP | PMU_ISR_BIT_LVD | PMU_ISR_BIT_BAT | PMU_ISR_BIT_ONKEY_HIGH);
NVIC_EnableIRQ(PMU_IRQn);
四、现象:
进入sleep无法唤醒;在未进入sleep状态下,可以进入pmu_gpio_isr_ram中断;
在开机后未进入sleep状态下可以触发pmu中断,进入sleep后就无法唤醒了
如图