This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2530清除NV信息后,不能通过串口修改PANID和信道的问题

Other Parts Discussed in Thread: Z-STACK

清除NV区代码如下:

if(zgWriteStartupOptions( ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE )==ZSUCCESS){

HalUARTWrite(0,"clear NV success",16);
}

执行完上述代码,再执行修改PANID和信道代码失效。

修改PANID代码如下:

mypanid=(uart_rdata[1]<<8) + uart_rdata[2];
osal_memcpy(&_NIB.nwkPanId,&mypanid,sizeof(uint16));
NLME_UpdateNV(0x01);
osal_nv_write(ZCD_NV_PANID, 0, osal_nv_item_len( ZCD_NV_PANID ), &zgConfigPANID);
osal_start_timerEx( SampleApp_TaskID,SAMPLEAPP_RESET_EVT,1000 );

修改信道代码如下:

mychannel=uart_rdata[1];
if(mychannel<0x0B||mychannel>0x1A){
HalUARTWrite(0,"wrong channel",13);
}
else{
_NIB.nwkLogicalChannel = mychannel;
NLME_UpdateNV(0x01);
osal_start_timerEx( SampleApp_TaskID,
SAMPLEAPP_RESET_EVT,
1000 );
}