无线修改zigbee的panid和信道

276 阅读1分钟

先通过协调器修改终端panid,再通过串口修改协调器panid

uint8 RstFlag = 0;
void Send_PANID() 
{ 
uint16 panid;
               uint8 channel;
               
               panid = (CMD_ID[9] << 8) + CMD_ID[10];
               _NIB.nwkPanId = panid;
               NLME_UpdateNV(0x01);
               zgConfigPANID = panid;
               osal_nv_write(ZCD_NV_PANID, 0, osal_nv_item_len( ZCD_NV_PANID ), &zgConfigPANID);
               
//               未验证               
//               channel = CMD_ID[10];
//                _NIB.nwkLogicalChannel= channel;
//                NLME_UpdateNV(0x01);//更新到nv
//               zb_WriteConfiguration(ZCD_NV_CHANLIST,4,&_NIB.nwkLogicalChannel);
                 RstFlag = 2;
}     
   
uint16 SampleApp_ProcessEvent( uint8 task_id, uint16 events )
{
    static uint8 RST_Num;
 `````````````
    if((ZIG_STA_End.RstFlag == 1) || (ZIG_STA_End.RstFlag == 2)) //准备复位
    {
       DATA_PIN = !DATA_PIN; //状态灯快闪提示
       if(RST_Num++ > 10)
       {
         RST_Num = 0;
         if(RstFlag == 1)
         {
           zgWriteStartupOptions(ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE);//复位网络状态
         }
         else if(RstFlag == 2)
           zb_SystemReset();
         RstFlag = 0; 
         SystemReset();//系统复位
       }
    }
、、、、、、、、、、、、、、、、、、
}
              

参考 blog.csdn.net/u011195662/…

blog.csdn.net/accumulatin…

blog.csdn.net/wwy__/artic…