完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
您好,现在我的网络里面有1个协调器和1个路由器(均编译了NV_INIT和NV_RESTORE),运行的程序是SerialApp,PanId是2,Chanel 0x0B,如果协调器先上电建立网络,然后路由器上电加入网络,双方串口发数据,均能正常接收,现在协调器重新上电,路由器一直工作,这时候发现协调器的PanId为3,加入不到原有的网络中;如果关掉路由器,协调器在重新上电,PanId为2,路由器在上电,还是可以正常收发数据;问题是我编译了NV_RESTORE和NV_INIT的,现在的解决办法是修改了下面的函数:
uint16 ZDApp_CoordStartPANIDConflictCB( uint16 panid ) [ #if defined ( NV_RESTORE ) return ( panid + 0 ); #else return ( panid + 1 ); #endif ] 这样在路由器不掉电的情况下协调器重新上电后还能加入原有的网络,请告知问题的原因,谢谢!!! |
|
相关推荐
2个回答
|
|
你虽然在这个函数里面产生一个和原先一样的PANID,但是这个PANID得到以后会和现在的网络的PANID再次做比较,如果是冲突的话还是会回到这个函数里面来选择新的PANID,所以你这种做法的话会使coordinator一直出去PANID的choose的状态,也就是说一直在这个函数里面跑,直到你的router掉电,没有冲突的时候,那么选择一个panid+0的PANID,因为这个时候已经没有冲突了。
|
|
|
|
wenlonghbo 发表于 2018-5-14 04:59 谢谢,其实加NV_RESTORE应该是没有问题的,可能的问题是我之前的ROUTER模块烧写过COORDINATOR的程序,所以NV中存在一些数据,导致现在的COORDINATOR不能用原有的PanId,现在将2个模块全部擦出程序,重新分别烧写COORDINATOR和ROUTER的程序,组网后协调器断电重启还是可以加入原来的网络。 |
|
|
|
只有小组成员才能发言,加入小组>>
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
1912 浏览 0 评论
TPS55340通电后输入端保险丝烧断,芯片输入和GND之间短路
3669 浏览 4 评论
5042 浏览 0 评论
请问如何用DM368对RGB格式的图片数据进行编码生成JPEG格式图片?
1741 浏览 1 评论
9426 浏览 8 评论
CC3100BOOST使用CC3200lunchXL进行烧录
690浏览 2评论
738浏览 1评论
TMS320F28034: 利用C2prog通过SCI给TMS320F28034烧录程序,出现错误提示:Bootloading... failed (invalid echo)!
708浏览 1评论
求DLPC350 Programmer’s Guide User's Guide 中文版说明书
1211浏览 1评论
1794浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-5-14 16:00 , Processed in 0.680989 second(s), Total 81, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号