您好,我使用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_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,你好。不同的提交者请分别提交问题,你可以在新帖子中详细描述问题的整个过程,起初可以工作,之后修改了什么内容出了什么问题。