以下是我测试的结果:
1,ZDApp.c执行NLME_JoinRequest时,会调用ZMacAssociateReq,我在ZMacAssociateReq中置一个全局变量标志位。
2,MAC_CbackEvent中,检测到MAC_MLME_ASSOCIATE_CNF事件,标志位清空。
3,在halSleep函数中,跟踪标志位,发现标志位置1的时候,MAC_PwrOffReq返回MAC_DENIED,也就是说在执行MAC_MlmeAssociateReq时,无法进入低功耗,这个执行过程有490ms,但是最终获取父节点分配的地址的时候,还要向父节点发起一个Data Request,所以这个过程完全可以在低功耗下进行。