关于睡眠和外部干扰。

11个职位/0个新职位
最后一篇文章
溧阳
离线
最后一次见到:3个月2周前
专家
已加入:2014-09-24 11:51
关于睡眠和外部干扰。

嗨,对话:

我们知道,当DA准备进入睡眠时,它会关闭外围设备的电源,所以当它进入睡眠时。外部中断能工作吗?

谢谢李阳

设备:
夏季20100514
离线
最后一次见到:4年2个月前
上师
已加入:2014-12-30 05:01
当然会很好的。

当然会很好的。有很多帖子都在讨论外部中断,也许你应该先看看这些。

MT\u对话框
离线
最后一次见到:5天18小时前
工作人员
已加入:2015-06-08 11:34
你好,李阳,

你好,李阳,

请大家除了从论坛的帖子中请大家看一下文件UM-B-004外设驱动程序和UM-B-006睡眠模式配置。

谢谢你的对话

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

嗨,对话:

嗯,我已经阅读了文档UM-B-004外设驱动程序和UM-B-006睡眠模式配置。我总是有一些问题。
我可以在GPIO2\u Handler()中发送消息吗(我的测试证明它可以工作)?如果可以的话,什么时候可以发送信息?UM-B-006
所说的外部中断是一个异步事件,它不能使BLE核心活动。等待同步事件发生?

谢谢李阳

MT\u对话框
离线
最后一次见到:5天18小时前
工作人员
已加入:2015-06-08 11:34
你好,李阳,

你好,李阳,

您可以使用ke\u msg\u send\u basic()函数将消息从ISR发送到内核,然后发送到任务应用程序(请检查SmartTag参考设计,通过中断处理程序发送消息)。该文档解释说,如果存在外部中断,BLE内核很可能正在休眠,这就是为什么称为异步中断。如果有一个异步中断,你可以唤醒BLE内核。

谢谢你的对话

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

嗨,对话:

如果存在异步中断,如何唤醒BLE内核?

谢谢李阳

MT\u对话框
离线
最后一次见到:5天18小时前
工作人员
已加入:2015-06-08 11:34
你好,李阳,

你好,李阳,

请在app\u button\u press\u cb()函数中检查SmartTag代码,软件收到外部按钮中断唤醒BLE并发送消息。

谢谢你的对话

溧阳
离线
最后一次见到:3个月2周前
专家
已加入:2014-09-24 11:51
嗨,Dialog,

嗨,Dialog,
这样地?

如果(app\u ble\u ext\u wakeup\u get())
{
//在这里醒来

#如果(外部睡眠启用)
app_set_extended_sleep();
#elif(启用深度睡眠)
app_set_deep_sleep();
#其他
app_disable_sleep();
#结束
SetBits32(GP\ U CONTROL\ U REG,BLE\ U WAKEUP\ U REQ,1);
app_ble_ext_wakeup_off();
ke\ u msg\ u send\ u basic(APP\ u WAKEUP\ u msg,TASK\ u APP,NULL);
}
应用程序按钮启用();

问:1如果函数app\u ble\u ext\u wakeup\u get()返回false,这意味着什么?
这是叫醒我的地方吗?SetBits32(GP\ U CONTROL\ U REG,BLE\ U WAKEUP\ U REQ,1);
3为什么需要调用此函数?app_ble_ext_wakeup_off();

谢谢李阳。

MT\u对话框
离线
最后一次见到:5天18小时前
工作人员
已加入:2015-06-08 11:34
你好,李阳,

你好,李阳,

app\u ble\u ext\u wakeup\u get()检查ble core是否处于永久睡眠状态。。。。。您可以在数据表中找到BLE\ U WAKEUP\ U REQ的功能。您还可以在文档UM-B-006中找到为什么需要调用app\u ble\u ext\u wakeup\u off()。

谢谢你的对话

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

嗨,对话:

在函数app\u ble\u ext\u wakeup\u off()中,只分配了一个标志——sleep\u ext\u force。而功能的简单之处是将BLE核心置于永久睡眠状态。
它能工作吗?为什么?

谢谢李阳

MT\u对话框
离线
最后一次见到:5天18小时前
工作人员
已加入:2015-06-08 11:34
你好,李阳,

你好,李阳,

函数app\u ble\u ext\u wakeup\u off()的作用是禁用da只从外部中断中唤醒的功能。文档UM-B-006指示,如果您仅从外部中断中被唤醒(您已将app\u ble\u ext\u wakeup\u设置为on()),并且您希望唤醒ble,则必须通过调用app\u ble\u ext\u wakeup\u off()恢复默认操作模式,否则ble将无法唤醒以服务ble事件。

谢谢你的对话