有应用场景需求,需要在待机模式下关闭射频通信,正常模式下使用RF通信
1.有接口能停止/开始协议栈的运行吗?
2.有接口能够关闭RF吗?
Viki Shi:
你是指关闭RF吧? 待机模式下就是关闭的
xunyu gu:
回复 Viki Shi:
我用的是非休眠终端模式
Viki Shi:
回复 xunyu gu:
可以问一下具体应用场景吗?因为一般非休眠时为了更好地维护网络,不丢失信息。既然如此,为什么还要关闭RF呢
xunyu gu:
回复 Viki Shi:
上电后需要等待一个事件去开启整个系统的运行,正常运行前这个时候设备要处于工作状态,周期运行一个任务判断事件,此时但是功耗又不能太高。
非休眠模式是为了接收广播消息,程序中也需要更改休眠模式和非休眠模式
Viki Shi:
回复 xunyu gu:
这样的话,先让RF core处于IDLE状态,再使用RF_close关闭RF
xunyu gu:
回复 Viki Shi:
RF获取不到handle吧,不能直接操作RF
Viki Shi:
回复 xunyu gu:
源代码里找到了这几个函数,位于【mac_rx_onoff.h】: MAC_INTERNAL_API void macRxOnOffInit(void); MAC_INTERNAL_API bool macRxOnRequest(void); MAC_INTERNAL_API void macRxOffRequest(void); MAC_INTERNAL_API bool macRxOn(void); MAC_INTERNAL_API void macRxOff(void); 原理上应该可以关闭,但是这个涉及IEEE 802.15.4底层了,一般不建议用,以防网络不稳定