你好,
我启用dg_configLATCH_WKUP_SOURCE是因为我的应用程序中需要多个源事件。我验证了,如果该宏启用,从休眠模式唤醒不工作。如果我禁用它,它会唤醒设备....
我确实需要更多的irqs…这是SDK的一个bug吗?
感谢您的回复!
马可
我解决了这个问题。我猜这是一个SDK漏洞。它错过了写入寄存器WKUP_SELECT_Px_REG下面是我用函数解决的问题。你能否证实?顺便说一下,它似乎可以把设备从休眠中唤醒。
hw_wkup_init(空);hw_wkup_configure_pin (HW_GPIO_PORT_3 HW_GPIO_PIN_1,真的,HW_WKUP_PIN_STATE_LOW);hw_wkup_enable_wakeup (HW_GPIO_PORT_3 HW_GPIO_PIN_1);<----这是我的FNChw_wkup_register_interrupt (wkup_handler, 1);
hw_wkup_enable_wakeup(HW_GPIO_PORT port, HW_GPIO_PIN pin){开关(端口){案例HW_GPIO_PORT_0:WAKEUP->WKUP_SELECT_P0_REG |= (1 << pin);打破;案例HW_GPIO_PORT_1:WAKEUP->WKUP_SELECT_P1_REG |= (1 << pin);打破;案例HW_GPIO_PORT_2:WAKEUP->WKUP_SELECT_P2_REG |= (1 << pin);打破;案例HW_GPIO_PORT_3:WAKEUP->WKUP_SELECT_P3_REG |= (1 << pin);打破;案例HW_GPIO_PORT_4:WAKEUP->WKUP_SELECT_P4_REG |= (1 << pin);打破;默认值:ASSERT_WARNING(0); / /无效的论点}}
谢谢
嗨garzola,
你能让我知道,如果这解决了你的问题?您应该编写WKUP_SELECT_Px_REG。
谢谢,PM_Dialog
是的,它解决了我的问题。
你好,
我解决了这个问题。我猜这是一个SDK漏洞。它错过了写入寄存器WKUP_SELECT_Px_REG
下面是我用函数解决的问题。
你能否证实?顺便说一下,它似乎可以把设备从休眠中唤醒。
hw_wkup_init(空);
hw_wkup_configure_pin (HW_GPIO_PORT_3 HW_GPIO_PIN_1,真的,HW_WKUP_PIN_STATE_LOW);
hw_wkup_enable_wakeup (HW_GPIO_PORT_3 HW_GPIO_PIN_1);<----这是我的FNC
hw_wkup_register_interrupt (wkup_handler, 1);
hw_wkup_enable_wakeup(HW_GPIO_PORT port, HW_GPIO_PIN pin)
{
开关(端口){
案例HW_GPIO_PORT_0:
WAKEUP->WKUP_SELECT_P0_REG |= (1 << pin);
打破;
案例HW_GPIO_PORT_1:
WAKEUP->WKUP_SELECT_P1_REG |= (1 << pin);
打破;
案例HW_GPIO_PORT_2:
WAKEUP->WKUP_SELECT_P2_REG |= (1 << pin);
打破;
案例HW_GPIO_PORT_3:
WAKEUP->WKUP_SELECT_P3_REG |= (1 << pin);
打破;
案例HW_GPIO_PORT_4:
WAKEUP->WKUP_SELECT_P4_REG |= (1 << pin);
打破;
默认值:
ASSERT_WARNING(0); / /无效的论点
}
}
谢谢
马可
嗨garzola,
你能让我知道,如果这解决了你的问题?您应该编写WKUP_SELECT_Px_REG。
谢谢,PM_Dialog
是的,它解决了我的问题。
马可