大家好,
我在BLE_APP_PERITIVE示例上合并睡眠模式示例。
我面临着以下内容,
1)app_easy_wakeup()不适用于外设项目。
代码Snipet:
void app_button_enable(void)
{
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_polarity(en_sleep_gpio_port,en_sleep_gpio_pin,wkupct_pin_polarity_high),//极性低
1,// 1事件
40);// debouncing time = 0
}
静态void app_wakeup_cb(void)
{
//如果状态不空闲,请忽略该消息
if(ke_state_get(task_app)== app_connectable)
{
//
user_app_adv_start();
}
}
/ **
****************************************************************************************
* @brief按钮按回调函数。在Wkupct驱动程序中注册。
* @return void.
****************************************************************************************
* /
void app_button_press_cb(void)
{
if(getBits16(sys_stat_reg,per_is_down))
{
periph_init();
}
if(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,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_PERITIVELAL示例,因此您是否可以确保设备进入睡眠状态,如BLE_APP_SLEEPMODE示例所示?如果是的话,你能醒来吗?您能否在唤醒回调函数中添加一个断点,并在调试模式下运行代码?
谢谢,PM_DIALOG.