嗨,团队,
我正在合并ble_app_peripheral示例上的Sleep模式示例。
我面临的问题是:
app_easy_wakeup()没有在外围项目上工作。
代码snipet:
空白app_button_enable(空白)
{
app_easy_wakeup_set (app_wakeup_cb);
wkupct_register_callback (app_button_press_cb);
wkupct_enable_irq(WKUPCT_PIN_SELECT(EN_SLEEP_GPIO_PORT, EN_SLEEP_GPIO_PIN), //选择pin (GPIO_BUTTON_PORT, GPIO_BUTTON_PIN)
wkupct_pin_polarization (EN_SLEEP_GPIO_PORT, EN_SLEEP_GPIO_PIN, wkupct_pin_polarization _high), //极性低
1, // 1事件
40);//调试时间= 0
}
静态孔隙app_wakeup_cb(空白)
{
//如果state不是idle,则忽略该消息
if (ke_state_get(TASK_APP) == APP_CONNECTABLE)
{
//
user_app_adv_start ();
}
}
/ * *
****************************************************************************************
* @brief按键回呼功能。注册在WKUPCT驱动程序。
* @return无效
****************************************************************************************
* /
空白app_button_press_cb(空白)
{
如果(GetBits16 (SYS_STAT_REG PER_IS_DOWN))
{
periph_init ();
}
如果(arch_ble_ext_wakeup_get ())
{
arch_set_sleep_mode (ARCH_SLEEP_OFF);
arch_ble_force_wakeup ();
adv_stop = 0;
wkup_flag = true;
GPIO_SetInactive(GPIO_PORT_0, GPIO_PIN_7);
Uint8_t pkt[10] ={22,00,00, 10, 00, 10, 00,00,00};//唤醒响应
uart2_write (uint8_t *) pkt 10 uartcback);
arch_ble_ext_wakeup_off ();
app_easy_wakeup ();
/ / user_app_adv_start ();
}
}
你能解释一下如何在外围项目上使用app_easy_wakeup函数吗?
请尽快给予支持。
谢谢,
嗨GAK,
app_easy_wakeup_set()不工作是什么意思?您提到您正在使用ble_app_peripheral示例,所以您能否确保设备进入睡眠,如ble_app_sleepmode示例所示?如果有,你能醒过来吗?能否在唤醒回调函数中添加一个断点,并在调试模式下运行代码?
谢谢,PM_Dialog