完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
@VV
非常感谢VV给我的解答,问题已经解决。维持8-9s的高功耗状态是因为在Ztack机制里当扫描失败次数达到5次时if (startMode == MODE_REJOIN && scanCnt++ >= 5 ),扫描信道被置为所有信道zgDefaultChannelList = MAX_CHANNELS_24GHZ,所以导致扫描周期变长,我把这句注释掉就好了。 至于您说的用ZDApp_StartJoiningCycle,我试过可是一直不可以,当启用该函数时一直都加不上网络,而且功耗会一直维持在80mW的高功耗状态,但是用NLME_OrphanJoinRequest或者直接调用ZDOInitDevice( 0 )却都能加入网络,现在我还在找原因在哪,如果您知道的话也希望能指点一二,谢谢。 |
|
|
|
|
|
cswerwr 发表于 2020-4-23 17:09 帮忙确定下 当时的devState是不是 DEV_NWK_DISC ZDApp_ProcessOSALMsg( osal_event_hdr_t *msgPtr ) if ( ( (pChosenNwk = ZDApp_NwkDescListProcessing()) != NULL ) && (zdoDiscCounter > NUM_DISC_ATTEMPTS) ) |
|
|
|
|
|
wenlonghbo 发表于 2020-4-23 17:20 @VV 谢谢,现在如果我使用ZDApp_StartJoiningCycle();,我通过打印串口信息发现当时的devState的确是DEV_NWK_DISC,而且此时的devStartMode == MODE_REJOIN,若在执行ZDApp_StartJoiningCycle()的前一刻重新打开Coordinator,则函数进入case ZDO_NWK_DISC_CNF---->else if ( devStartMode == MODE_REJOIN )----->if ( NLME_ReJoinRequest( ZDO_UseExtendedPANID, pChosenNwk->logicalChannel) != ZSuccess )----->ZDO_JoinConfirmCB回调函数------->case ZDO_NWK_JOIN_IND------>ZDApp_ProcessNetworkJoin()------->else if ( devState == DEV_NWK_ORPHAN || devState == DEV_NWK_REJOIN )--------->此时nwkStatus !== ZSuccess,所以进入else------->ZDApp_NetworkInit(),一直无法rejoin的话就形成死循环了。 请问为什么这个时候EndDevice无法rejoin入协调器的网络呢,我的协调器已经加入了预编译NV_INIT和NV_RESTORE,EndDevice预编译选项是NV_RESTORE,期待您的解答,谢谢! |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
919 浏览 1 评论
531 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
408 浏览 1 评论
962 浏览 0 评论
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
2125 浏览 0 评论
55浏览 3评论
CC3100BOOST使用CC3200lunchXL进行烧录
909浏览 2评论
151浏览 2评论
192浏览 2评论
170浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-27 11:52 , Processed in 0.886416 second(s), Total 60, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号