我使用的是timac_1_05_02_43299协议栈。目前板子单独测试的时候是符合官方文档的电流消耗的。
但是执行完 MSA_ScanReq(MAC_SCAN_ACTIVE, 3); 联网以后电流就一直在7点几ma。
在使用MAC_MlmeDisassociateReq(); 进行断网处理也并不能使功耗降低,实验了MAC_MlmeResetReq(TRUE);即初始化MAC之后是可以使电流降低的,但是之后再运行 MSA_ScanReq(MAC_SCAN_ACTIVE, 3); 即使成功联网,也不能正常传输数据。、
而且每次断网,再联网之后 shortaddr的值就会改变,这样重复下去,shortaddr会不会溢出?如果会,溢出之后会怎样?
目前我的方案是 联网—传输数据——断网休眠 循环往复,但是现在断网休眠后联网行为就不正常了,不知道问题出在哪里?
或者在组网时,有其他的低功耗方法吗?
想实现的方案就是 联网—传输数据——断网休眠 这样一个过程。
wenwu shen:
有没有大神能够解答一下啊?
按理说RTOS应该有管理这种休眠的,但是连接后的一段时间,没有进行数据传输,也没有进入休眠,很奇怪。
VV:
scan req以后,应该一直在进行网络搜网,发送beacon request,你可以看下空中的数据。
断网以后,如果协调器有重启的话可能会变化,建议开启NV_RESTORE