完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
为什么NV_RESTORE和NV_INIT都开启,但Flash中ZCD_NV_PANID和变量zgConfigPANID读取出的值都为0xFFFF。
通过网络抓包看到的PanID是有效的。为什么没有写入到那个flash中的?更奇怪的是,我断电再重新上电,网络是可以恢复的,可以保持。到底存储到了哪里了呢? osal_nv_read( ZCD_NV_NIB, osal_offsetof( nwkIB_t, nwkPanId ), sizeof( uint16), &nwkPanId ); 在NIB的panID地址中读取到了存储的PanID值0x983F,但是在自身的ZCD_NV_PANID 中读取的是0XFFFF。想知道是什么原因呢? |
|
相关推荐
4个回答
|
|
经过实测确认了这个问题。
原因:设置的默认的ZDAPP_CONFIG_PAN_ID=0xFFFF 这个情况下应该是不会改动到ZCD_NV_PANID Flash的值的。只是存储到了_NIB中。 如果初始设置 ZDAPP_CONFIG_PAN_ID=0x1234,并执行下 zgWriteStartupOptions( ZG_STARTUP_SET, 3 ); // bit set both default configuration and default network // restart device SystemReset(); 恢复一下出厂设置后,值会写入到Flash中。 |
|
|
|
|
|
|
|
这是 W 回我的那个问题:
如果你开启了NV_RESTORE功能,每次协调器建立网络以后,如果没有设备加入的话,那么下次重启协调器以后会随机产生一个新的PANID,如果有设备加入过就不会再变了。 我测试了下的确是这样的。 就是不知道协议栈为什么要这样做,相关的代码好像也被封成库了。 |
|
|
|
想变胖的瘦子 发表于 2018-5-15 05:22 bx 没有设备加入过网络,所以重启以后换个PANID也是一样的。 |
|
|
|
只有小组成员才能发言,加入小组>>
845 浏览 1 评论
1081 浏览 0 评论
626 浏览 1 评论
475 浏览 1 评论
668 浏览 2 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
270浏览 29评论
1232浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
364浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
344浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
215浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-3-9 09:34 , Processed in 0.955967 second(s), Total 49, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191