主题中讨论的其他器件:Z-STACK
嗨、大家好!
我的 ZED 基于 Z-stack 3.0.2
我已启用 NWK_AUTO_POLL
在 INIT 函数中、我调用:BDB_StartCommissioning (BDB_rotunding_existing_network_on_startup);
然后输入:
案例 BDB_调试_初始化:
if (bdbcommitingModeMsg->bdbcommitingStatus == bdb_interving_success){
//没有什么可做的
} else if (bdbcommitingModeMsg->bdbcommitingStatus == bdb_interving_no_network){
BDB_StartCommissioning (BDB_Commissioning_mode_NWK_steering);
基本上、我的器件会在启动时尝试加入现有网络、如果有、则会尝试加入新网络。
这工作得非常好。
但是、即使我有 NWK_AUTO_POLL、我仍然只需要按需将其激活、例如当通过中断唤醒器件一段时间后、我希望器件再次进入睡眠状态并停止轮询。
我尝试设置:
在我的 init 方法中使用 NLME_SetPollRate (0)-器件不再能够加入或重新加入
然后我尝试设置
NLME_SetPollRate (0)(位于
案例 BDB_SANTING_NWK_STANGING:
if (bdbcommitingModeMsg->bdbcommitingStatus == BDB_interving_Success)
同样、该器件不再能够加入/重新加入...
因此,似乎只要我试图把 NLME_SetPollRate(0) 它在某种程度上与混合机制相互作用。
我希望拥有一个器件、该器件能够:
-在启动时加入/重新加入网络
-在引脚中断出现之前无需轮询即可休眠
-当被中断唤醒时,开始轮询,例如30秒,然后再次进入睡眠状态而没有轮询。
因此、我需要您的帮助:
1.如何停止自动轮询,特别是在哪个地方,这样它就不会与通信过程发生交互?
2.或者是否更适合其他方式-如何在不 设置 NWK_AUTO_POLL 的情况下仅在指定时间段内开始轮询
基本上我的 ZED 应该是深度睡眠的设备,只有当我告诉它的时候才需要轮询-为了辅助绑定。
非常感谢!