SDK:3.20.00.68
使用CC2652的Zed DoorLock进行测试,抓包发现DataRequest不连续,一直断断续续的。同时修改zstack_config.h中的POLL_RATE的值后发现DataRequest的周期没有任何改变,一直为1秒。
20190723.zip
Viki Shi:
你是用NLME_SetPollRate更改的吗?更改以后会自动更新到NV,可能不是立即更新,你抓时间长一点看看
user5992919:
回复 Viki Shi:
使用的是CC2652的最新的SDK,已经没有NLME_SetPollRate这个接口了,另外我是想进行End Device的功耗测试。
Alvin Chen:
回复 user5992919:
1. NLME_SetPollRate 依然保留并有效在CC26X2 SDK。
2.修改POLL_RATE既可以生效。
user5992919:
回复 Alvin Chen:
使用CCS和IAR编译后烧录进行测试,发现修改Poll Rate后Rebuild All了都没有生效,烧录前也都把芯片做了强制檫除。
另外DataRequest不连续的问题应该是信道被什么信号干扰了,切换信道后已经正常。
YiKai Chen:
回复 user5992919:
可以用下面的程序改變poll rate
zstack_sysConfigWriteReq_t writeReq = {0}; // create a config struct
writeReq.has_pollRate = true; // update member values
writeReq.pollRate = duration; // set poll rate
Zstackapi_sysConfigWriteReq(appServiceTaskId, &writeReq); // update the new config
Alvin Chen:
回复 user5992919:
/** @briefConfigure the pollRate values per procedure requirements.*/
void nwk_SetConfigPollRate(uint16_t pollRateType, uint32_t Rate );
应该也是可以使用的,比较方便。
user5992919:
回复 Alvin Chen:
经过测试发现在初始化函数中调用nwk_SetConfigPollRate(POLL_RATE_TYPE_DEFAULT,POLL_RATE);无法修改DataRequest的周期,调试发现在入网成功后被设置成1000。因此可以在zclSampleDoorLock_ProcessCommissioningStatus函数中的入网成功后调用nwk_SetConfigPollRate(POLL_RATE_TYPE_DEFAULT,POLL_RATE);来设置Poll Rate的值。