void ChannelPanidInit (void)
{
uint8 channel; //定义信道
uint8 buf[2]; //定义PanID
channel = zb_Readchannel(); //读取信道号
if(channel != 11)
{
zb_Readpandid(buf);
if((buf[0] != 0x03)&(buf[1] != 0x80))
{
buf[0] = 0x03;
buf[1] = 0x80;
channel = 11;
zb_Writepandid(buf); //修改Pandid
zb_Writechannel(channel); //修改信道号
zb_SystemReset(); //系统重启
}
else
{
channel = 11;
zb_Writechannel(channel);
zb_SystemReset();
}
}
else
{
zb_Readpandid(buf);
if((buf[0] != 0x03)&(buf[1] != 0x80))
{
buf[0] = 0x03;
buf[1] = 0x80;
zb_Writepandid(buf);
zb_SystemReset();
}
}
}
操作步骤:
- 读取信道号 zb_Readchannel();
- 判断信道号
- 读取pandid zb_Readpandid(buf);
- 修改信道号 zb_Writepandid(buf);
- 修改pandid zb_Writepandid(buf);
6.执行 zb_SystemReset();最后只有执行该函数才会有效