请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:CC1200 我正在使用CC1200,并希望出于测试目的实施频率扫描。 目前,我的初始化例程如下所示:
void configureRF(){
//重置对讲机
TxSpiCmdStrobe(CC120X_SRES);
//将寄存器写入对讲机
U8写入字节;
对于(U16 i = 0;i <(sizeof (preferredSettings)/sizeof (registerSetting_t));i ++){
writeByte = preferredSettings[I].data;
cc120xSpiWriteReg (首选设置[i].addr,&writeByte,1);
}
//设置地址
cc120xSpiWriteReg (CC1200_DEP_ADDR,&address,1);
//校准收音机
TxSpiCmdStrobe(CC120X_SCAL);
//等待校准完成(对讲机返回空闲状态)
8国市场;
执行{
cc120xSpiReadReg (CC1200_MARCSTATE,&marcState, 1);}
while (marcState != 0x41);
//校准RCOSC
//读取当前寄存器值
U8温度;
cc120xSpiReadReg (CC1200_WOR_CFG0,&temp,1);
//屏蔽寄存器位字段并写入新值
Temp =(temp和0xF9)|(0x02 << 1);
//写入新的寄存器值
cc120xSpiWriteReg (CC1200_WOR_CFG0,&temp,1);
//空闲选通以校准RCOSC
TxSpiCmdStrobe(CC120X_sidle);
//禁用RC校准
Temp =(temp和0xF9)|(0x00 << 1);
cc120xSpiWriteReg (CC1200_WOR_CFG0,&temp,1);
//默认进入RX
rfStateAsync(RX);
}
为了执行频率扫描,我希望定期更改频率,如下所示:
cc120xSpiWriteReg (CC1200_FREQ0,&channelByte0,1); cc120xSpiWriteReg (CC1200_FREQ1,&channelByte1, 1); cc120xSpiWriteReg (CC1200_FREQ2,&channelByte2, 1);
这样更改通道后,我是否必须重新校准或重新初始化任何内容?