5个帖子/ 0新
最后一篇
PBFN46.
离线
最后一次露面:5年11个月前
加入:2014-09-02 09:51
BLE RW&WFI

你好!

我研究了函数Rwip_sleep(),对我来说似乎很奇怪。它为应用程序初始化过程留下2秒(惊喜!)。默认情况下,禁用深度睡眠。这就是为什么函数RWIP_SLEEP()在2秒之前返回mode_active,并且通过2秒后的mode_idle。在主循环模式下导致指令WFI()。

我在我的应用程序中使用BLE RW堆栈。如果我更改BLE RW的配置(GAPM_SET_DEV_CONFIG_CMD)或取消当前操作(GAPM_CANCEL_CMD),则由于WFI执行,我无法捕获响应。通过完成事件BLE RW中断WFI指令吗?我使用以下wa:rwip_sleep()始终返回mode_active。

RVA.
离线
最后一次露面:5天17小时前
员工
加入:2014-02-07 14:10
嗨pbfn46,

嗨pbfn46,
你能解释一下你的意思是“我无法抓住回答”?
RVA(对话)

PBFN46.
离线
最后一次露面:5年11个月前
加入:2014-09-02 09:51
我向BLE RW发送命令。对于

我向BLE RW发送命令。例如,它是“取消”命令:

struct gapm_cancel_cmd * cmd = ke_msg_alloc(gapm_cancel_cmd,task_gapm,task_app,gapm_cancel_cmd);
cmd->操作= gapm_cancel;
ke_msg_send(cmd);

BLE Ready事件(G​​APM_CMP_EVT)的事件处理程序存在,但在调用处理程序之前启动指令WFI。从这个点处理程序不会永远呼唤,即DA14850的唤醒不会发生。

RVA.
离线
最后一次露面:5天17小时前
员工
加入:2014-02-07 14:10
我们认为取消可能

我们认为取消可能实际上是工作。只是几个问题可以确定:
1.您如何知道GAPM_CMP_EVT处理程序未触发?
2.您尝试取消哪些行动?例如,您正在尝试取消广告,广告成功取消,然后在GapM_CMP_EVT_Handler中,您的代码实际上应该最终进入:
案例GAPM_ADV_UNDIRECT:
{
}
如果广告未成功取消,您的代码已结束:
案例GAPM_CANCEL:
{
}

最好的祝福,
RVA(对话)

PBFN46.
离线
最后一次露面:5年11个月前
加入:2014-09-02 09:51
我很抱歉长时间延迟。

我很抱歉长时间延迟。请找到答案:
1.我尝试了不同的痕迹(GAPM_CMP_EVT处理程序,基于计时器等),并在WFI设备休眠后看到,没有产生迹线。
2.我试图取消广告,并查看GapM_CMP_EVT_Handler根本不调用。