zigbee Z-Stack 3.0.1 利用廣播的方式修改通道
阿新 • • 發佈:2019-01-06
TI的zigbee協議棧的預設通道是11,如何快速修改為15通道呢?
方法就是給0xFFFF傳送廣播,來進行修改。
呼叫MTsys.c裡面提供的MT_ZdoMgmtNwkUpdateRequest函式,給出合理的引數,ZNP上會自動傳送廣播給所有節點之後,然後再修改自己的通道。最後所有節點都完成了通道的修改。
MgmtNwkUpdateReqFormat_t req;
req.DstAddr=0xFFFF;
req.DstAddrMode=AddrBroadcast;
req.ChannelMask[0]=BREAK_UINT32(newChanList,0);
req.ChannelMask[1 ]=BREAK_UINT32(newChanList,1);
req.ChannelMask[2]=BREAK_UINT32(newChanList,2);
req.ChannelMask[3]=BREAK_UINT32(newChanList,3);
req.ScanDuration=0xFE; //Request is to change Channel
req.ScanCount=0; //don't care
req.NwkManagerAddr=0; //don't care
zdoMgmtNwkUpdateReq(&req);