完善资料让更多小伙伴认识你,还能领取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也是一样的。 |
|
|
|
只有小组成员才能发言,加入小组>>
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
339 浏览 0 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
928 浏览 1 评论
536 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
412 浏览 1 评论
966 浏览 0 评论
61浏览 3评论
CC3100BOOST使用CC3200lunchXL进行烧录
911浏览 2评论
155浏览 2评论
196浏览 2评论
174浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-28 18:12 , Processed in 0.874146 second(s), Total 86, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号