关于睡眠和外部中断。

11个帖子/ 0新
最后一篇
溧阳
离线
最后一次露面:3个月2周前
专家
加入:2014-09-24 11:51
关于睡眠和外部中断。

嗨,对话框:

我们知道,当DA准备进入睡眠时,它将关闭外围的力量,所以当它在睡眠中。外部中断是否可以工作?

谢谢溧阳

设备:
SUMMER20100514.
离线
最后一次露面:4年2个月前
格鲁鲁
加入:2014-12-30 05:01
当然它会很好。

当然它会很好。有很多帖子讨论外部中断,也许你应该先阅读这些。

mt_dialog.
离线
最后一次露面:5天18小时前
职员
加入:2015-06-08 11:34
嗨溧阳,

嗨溧阳,

除非论坛的帖子外,请查看文档UM-B-004外围驱动程序和UM-B-006睡眠模式配置。

谢谢mt_dialog.

溧阳
离线
最后一次露面:3个月2周前
专家
加入:2014-09-24 11:51
嗨,对话框:

嗨,对话框:

嗯,我已经阅读了文档UM-B-004外围驱动程序和UM-B-006睡眠模式配置。我总有一些问题。
我可以在gpio2_handler()(我的测试证明它的测试)中发一条消息吗?如果我能,何时可以发送消息?UM-B-006
所述外部中断是异步事件,它无法使BLE核心活动。等待同步活动?

谢谢溧阳

mt_dialog.
离线
最后一次露面:5天18小时前
职员
加入:2015-06-08 11:34
嗨溧阳,

嗨溧阳,

您可以将来自ISR的消息发送到内核,使用KE_MSG_SEND_BASIC()函数到您的TASK_APP(检查通过中断处理程序发送消息的SMARTTAG参考设计)。该文档说明如果存在外部中断,则大部分可能是BLE核心会睡眠,这就是为什么称为异步中断。如果存在异步中断,则可以唤醒BLE核心。

谢谢mt_dialog.

溧阳
离线
最后一次露面:3个月2周前
专家
加入:2014-09-24 11:51
嗨,对话框:

嗨,对话框:

如果有异步中断如何唤醒BLE核心?

谢谢溧阳

mt_dialog.
离线
最后一次露面:5天18小时前
职员
加入:2015-06-08 11:34
嗨溧阳,

嗨溧阳,

请检查App_button_press_cb()函数中的SmartTag代码,软件获取外部按钮中断唤醒BLE并发送消息。

谢谢mt_dialog.

溧阳
离线
最后一次露面:3个月2周前
专家
加入:2014-09-24 11:51
嗨,对话框,

嗨,对话框,
像这样?

if(app_ble_ext_wakeup_get())
{
//唤醒这里的ble

#if(ext_sleep_enabled)
app_set_extended_sleep();
#elif(deep_sleep_enabled)
app_set_deep_sleep();
#别的
app_disable_sleep();
#万一
setbits32(gp_control_reg,ble_wakeup_req,1);
app_ble_ext_wakeup_off();
ke_msg_send_basic(app_wakeup_msg,task_app,null);
}
app_button_enable();

问题:1如果函数app_ble_ext_wakeup_get()返回false,则意味着什么意思?
这是这是醒来吗?setbits32(gp_control_reg,ble_wakeup_req,1);
3为什么我需要打电话给这个职能?app_ble_ext_wakeup_off();

谢谢溧阳。

mt_dialog.
离线
最后一次露面:5天18小时前
职员
加入:2015-06-08 11:34
嗨溧阳,

嗨溧阳,

app_ble_ext_wakeup_get()检查BLE核心是否在永久性睡眠中......您可以在数据表中找到BLE_WAKEUP_REQ的内容。此外,您还可以找到为什么需要在文档UM-B-006中调用app_ble_ext_wakeup_off()。

谢谢mt_dialog.

溧阳
离线
最后一次露面:3个月2周前
专家
加入:2014-09-24 11:51
嗨,对话框:

嗨,对话框:

在函数app_ble_ext_wakeup_off()中,仅分配一个标志---- sleep_ext_force。该功能的简短将BLE核心放在永久睡眠中。
它可以工作吗?为什么?

谢谢溧阳

mt_dialog.
离线
最后一次露面:5天18小时前
职员
加入:2015-06-08 11:34
嗨溧阳,

嗨溧阳,

函数app_ble_ext_wakeup_off()所做的是禁用DA将仅从外部中断唤醒的功能。文档UM-B-006指示如果只从外部中断唤醒(您已设置App_ble_ext_wakeup_on()),并且您希望通过调用app_ble_ext_wakeup_off()您必须恢复默认操作模式。或者BLE将无法醒来以便为博勒事件提供服务。

谢谢mt_dialog.