4个帖子/ 0新
最后一篇
滑轨
离线
最后一次露面:5年10个​​月前
专家
加入:2014-08-12 08:01
叫醒核心

嗨对话框
据说BLE核心始终是通过广告/连接事件等异步事件唤醒。
我如何立即唤醒BLE核心,但不等待异步事件。

Joacimwe.
离线
最后一次露面:1年5个月前
格鲁鲁
加入:2014-01-14 06:45
试试这个:

试试这个:

if(getBits16(clk_radio_reg,ble_enable)== 0){//ble时钟关闭
setbits16(gp_control_reg,ble_wakeup_req,1);
}

滑轨
离线
最后一次露面:5年10个​​月前
专家
加入:2014-08-12 08:01
嗨Joacimwe.

嗨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.

你能帮助我吗?

wt_dialog(未经验证)
嗨Sklin,

嗨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。