Viki Shi:
改信道应该是下面这个函数
#define CONFIG_CHANNEL_MASK{ 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, \0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \0x00, 0x00, 0x00, 0x00, 0x00 }
FreePom:
回复 Viki Shi:
还有个问题
/*!Start network
Public function defined in cllc.h*/
void Cllc_startNetwork(void)
{/* update state */updateState(Cllc_states_startingCoordinator);
if(!CONFIG_FH_ENABLE){/*Start active scan request to determine channel and PAN IDfor coordinator*/switchState(Cllc_coordStates_scanActive);}else{uint8_t startChan = 0;for(startChan = 0; startChan < APIMAC_154G_MAX_NUM_CHANNEL; startChan++){if(CLLC_IS_CHANNEL_MASK_SET(chanMask, startChan)){coordInfoBlock.channel = startChan;break;}}/* start req */switchState(Cllc_coordStates_scanEdCnf);}
}
这个是协调器里调用CONFIG_CHANNEL_MASK ,for(startChan = 0; startChan < APIMAC_154G_MAX_NUM_CHANNEL; startChan++){if(CLLC_IS_CHANNEL_MASK_SET(chanMask, startChan)){coordInfoBlock.channel = startChan;break;}}
这个的意思是,不管mask里定义打开了多少个,协调器这边只会以for中确定的第一个频道,是这样吗,
对于节点端,这个CONFIG_CHANNEL_MASK 中定义打开了多少通道,底层就会以这些通道进行扫描协调器,然后加入该网络,是这个逻辑吗
Viki Shi:
回复 FreePom:
不是,break只跳出当前那层循环
TI中文支持网
