zigbee使用低功耗效率不高
时间:10-02
整理:3721RD
点击:
我将f8wconfig.cfg 修改
-DPOLL_RATE=0
-DQUEUED_POLL_RATE=0
-DRESPONSE_POLL_RATE=0
-DRFD_RCVC_ALWAYS_ON=FALSE
IAR中的添加
NWK_AUTO_POLL
POWER_SAVING
然后应用层不使用定时器,也就是说入网成功之后,不发生消息也不接受消息但是测试电流功耗还是很大。
通过源代码分析进入osal_pwrmgr_powerconserve 函数。发现获取的定时器很频繁,是不是这个原因导致低功耗效率不高
在osal_next_timeout 函数中分析得知task_id =1,event_flag=16 和task_id =2,event_flag=1 在循环定时,且频率很高100ms以下。
task_id =1 和 2 分别是任务
macTaskInit( taskID++ );
nwk_init( taskID++ );
无法看到这两个任务的源码,不知道是不是这两个任务频繁定时引起的,又该怎么解决。
望回复,项目急,谢谢!
把协议栈中默认的按键获取方式从轮询改成中断,再测试下。
HalKeyConfig(HAL_KEY_INTERRUPT_ENABLE, OnBoard_KeyCallback);