嗨对话框据说BLE核心始终是通过广告/连接事件等异步事件唤醒。我如何立即唤醒BLE核心,但不等待异步事件。
试试这个:
if(getBits16(clk_radio_reg,ble_enable)== 0){//ble时钟关闭setbits16(gp_control_reg,ble_wakeup_req,1);}
嗨Joacimwe.非常感谢你。我希望得到一个按钮按事件。所以我启用了Wakeup Timer.and,我配置了如下所示的GPIO:void gpio_reservations(无效){......保留_GPIO(PUSH_BUTTON,GPIO_PORT_1,GPIO_PIN_3,PID_GPIO);}void set_pad_functions(void){......gpio_configurepin(gpio_port_1,gpio_pin_3,input_pullup,pid_gpio,false);}然后我打电话给这个函数:void app_button_enable(void){wkupct_register_callback(app_button_press_cb);if(gpio_getpinstatus(gpio_port_1,gpio_pin_3))wkupct_enable_irq(0x800,0x800,1,0);}我重写了app_button_press_cb.Fucntion如下:void app_button_press_cb(void){if(getbits16(clk_radio_reg,ble_enable)== 0)// ble clock关闭{setbits16(gp_control_reg,ble_wakeup_req,1);}app_button_enable();ke_msg_send_basic(app_wakeup_msg,task_app,null);}嗯,现在我可以在外部中断发生时进入App_button_press_cb fucntion。但我仍然无法收到app_wakeup_msg.事件在task_app。注意:我已经定义了下面的睡眠模式#define cfg_ext_sleep.#undef cfg_deep_sleep.
你能帮助我吗?
嗨Sklin,
我被支持你的代码不起作用。
如果你试图保留以下两行怎么办?
app_button_enable();ke_msg_send_basic(app_wakeup_msg,task_app,null);
如果这仍然不起作用,我会在下面添加一小时的循环SetBits16(GP_CONTROL_REG,BLE_WAKEUP_REQ,1)要确保getBits16(clk_radio_reg,ble_enable)返回1。
试试这个:
if(getBits16(clk_radio_reg,ble_enable)== 0){//ble时钟关闭
setbits16(gp_control_reg,ble_wakeup_req,1);
}
嗨Joacimwe.
非常感谢你。
我希望得到一个按钮按事件。所以我启用了Wakeup Timer.and,我配置了如下所示的GPIO:
void gpio_reservations(无效)
{
......
保留_GPIO(PUSH_BUTTON,GPIO_PORT_1,GPIO_PIN_3,PID_GPIO);
}
void set_pad_functions(void)
{
......
gpio_configurepin(gpio_port_1,gpio_pin_3,input_pullup,pid_gpio,false);
}
然后我打电话给这个函数:
void app_button_enable(void)
{
wkupct_register_callback(app_button_press_cb);
if(gpio_getpinstatus(gpio_port_1,gpio_pin_3))
wkupct_enable_irq(0x800,0x800,1,0);
}
我重写了app_button_press_cb.Fucntion如下:
void app_button_press_cb(void)
{
if(getbits16(clk_radio_reg,ble_enable)== 0)// ble clock关闭
{
setbits16(gp_control_reg,ble_wakeup_req,1);
}
app_button_enable();
ke_msg_send_basic(app_wakeup_msg,task_app,null);
}
嗯,现在我可以在外部中断发生时进入App_button_press_cb fucntion。
但我仍然无法收到app_wakeup_msg.事件在task_app。
注意:我已经定义了下面的睡眠模式
#define cfg_ext_sleep.
#undef cfg_deep_sleep.
你能帮助我吗?
嗨Sklin,
我被支持你的代码不起作用。
如果你试图保留以下两行怎么办?
app_button_enable();
ke_msg_send_basic(app_wakeup_msg,task_app,null);
如果这仍然不起作用,我会在下面添加一小时的循环SetBits16(GP_CONTROL_REG,BLE_WAKEUP_REQ,1)要确保getBits16(clk_radio_reg,ble_enable)返回1。