TI中文支持网
TI专业的中文技术问题搜集分享网站

CC1310 15.4协议栈开发修改射频频道

根据相关资料,APIMAC_GENERIC_CHINA_433_PHY_128的射频通道可支持7个通道的配置
/*! Setting for Phy ID */
#define CONFIG_PHY_ID                (APIMAC_GENERIC_CHINA_433_PHY_128)
调用一下API时,我把CONFIG_CHANNEL_PAGE配置为11时,软件初始化就不正常,默认是10
    ApiMac_mlmeSetReqUint8(ApiMac_attribute_channelPage,
                           (uint8_t)CONFIG_CHANNEL_PAGE);
是我的修改射频通道的方式不对吗
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只跳出当前那层循环

赞(0)
未经允许不得转载:TI中文支持网 » CC1310 15.4协议栈开发修改射频频道
分享到: 更多 (0)