您好,我使用DA14580芯片做睡眠功能时,按照文档上的指导,app_default_sleep_mode=ARCH_EXT_SLEEP_ON;程序死在check_sys_startup_period中, while ((GetWord16(SYS_STAT_REG) & DBG_IS_UP) == DBG_IS_UP) {};中,请问这个一般是哪个原因呢?
你好,
请问使用的是哪一个工程?参照哪一份文档?
这个问题已找到原因,请问唤醒蓝牙睡眠的GPIO是可以任意的GPIO 口吗?GPIO中断唤醒的配置,一定要使用如下的配置吗?app_easy_wakeup_set(app_wakeup_cb);wkupct_register_callback(app_button_press_cb);#if USE_PUSH_BUTTONif (GPIO_GetPinStatus(GPIO_BUTTON_PORT, GPIO_BUTTON_PIN)){wkupct_enable_irq(WKUPCT_PIN_SELECT(GPIO_BUTTON_PORT, GPIO_BUTTON_PIN), // select pin (GPIO_BUTTON_PORT, GPIO_BUTTON_PIN)WKUPCT_PIN_POLARITY (GPIO_BUTTON_PORT, GPIO_BUTTON_PIN, WKUPCT_PIN_POLARITY_LOW), // polarity low1, // 1 event0); // debouncing time = 0}#endif // USE_PUSH_BUTTON
还是可以进行如下配置:GPIO_RegisterCallback((IRQn_Type)(GPIO1_IRQn+PTT_BUTTON_IRQ), Button_PttHandler);GPIO_EnableIRQ( GPIO_PTT_BUTTON_PORT, GPIO_PTT_BUTTON_PIN, (IRQn_Type)(GPIO1_IRQn+PTT_BUTTON_IRQ), /*low_input*/ true, /*release_wait*/ true, /*debounce_ms*/ 0);这样配置的话,我进入睡眠后,GPIO中断进不来。请问这是什么原因呢?
IO 口中断,无法唤醒休眠中的芯片(可在正常工作模式下产生中断),必须通过 wakeup 定时器来唤醒,从而达到间接的 IO 唤醒系统的目的。所以想做 IO 唤醒系统的话,可通过 wkupct_enable_irq 配置为芯片的任一 IO 口。
另外,你原问题的原因是什么,可以分享给大家
你好,我的使用的ble_app_sleepmode的样例,但是直接且仅仅修改了LED和BUTTON的管脚位置,起初程序可以运行,但是不无法唤醒系统。不知道是哪里的原因?
cxzs1234,你好。不同的提交者请分别提交问题,你可以在新帖子中详细描述问题的整个过程,起初可以工作,之后修改了什么内容出了什么问题。
你好,
请问使用的是哪一个工程?参照哪一份文档?
这个问题已找到原因,请问唤醒蓝牙睡眠的GPIO是可以任意的GPIO 口吗?
GPIO中断唤醒的配置,一定要使用如下的配置吗?
app_easy_wakeup_set(app_wakeup_cb);
wkupct_register_callback(app_button_press_cb);
#if USE_PUSH_BUTTON
if (GPIO_GetPinStatus(GPIO_BUTTON_PORT, GPIO_BUTTON_PIN))
{
wkupct_enable_irq(WKUPCT_PIN_SELECT(GPIO_BUTTON_PORT, GPIO_BUTTON_PIN), // select pin (GPIO_BUTTON_PORT, GPIO_BUTTON_PIN)
WKUPCT_PIN_POLARITY (GPIO_BUTTON_PORT, GPIO_BUTTON_PIN, WKUPCT_PIN_POLARITY_LOW), // polarity low
1, // 1 event
0); // debouncing time = 0
}
#endif // USE_PUSH_BUTTON
还是可以进行如下配置:
GPIO_RegisterCallback((IRQn_Type)(GPIO1_IRQn+PTT_BUTTON_IRQ), Button_PttHandler);
GPIO_EnableIRQ( GPIO_PTT_BUTTON_PORT, GPIO_PTT_BUTTON_PIN, (IRQn_Type)(GPIO1_IRQn+PTT_BUTTON_IRQ), /*low_input*/ true, /*release_wait*/ true, /*debounce_ms*/ 0);
这样配置的话,我进入睡眠后,GPIO中断进不来。请问这是什么原因呢?
你好,
IO 口中断,无法唤醒休眠中的芯片(可在正常工作模式下产生中断),必须通过 wakeup 定时器来唤醒,从而达到间接的 IO 唤醒系统的目的。所以想做 IO 唤醒系统的话,可通过 wkupct_enable_irq 配置为芯片的任一 IO 口。
另外,你原问题的原因是什么,可以分享给大家
你好,我的使用的ble_app_sleepmode的样例,但是直接且仅仅修改了LED和BUTTON的管脚位置,起初程序可以运行,但是不无法唤醒系统。不知道是哪里的原因?
cxzs1234,你好。不同的提交者请分别提交问题,你可以在新帖子中详细描述问题的整个过程,起初可以工作,之后修改了什么内容出了什么问题。