初级会员

- 积分
- 122
- 金钱
- 122
- 注册时间
- 2017-10-3
- 在线时间
- 42 小时
|

楼主 |
发表于 2018-12-4 20:06:13
|
显示全部楼层
本帖最后由 ryanwong 于 2018-12-4 20:38 编辑
对不起,晚了点。
首先:由于篇幅的原因,我只把CC1101的某些配置发出来
把基本配置上传上来先
寄存器配置:
static const unsigned char CC1101InitData[30][2]=
{
{CC1101_IOCFG0, 0x06}, //这里是GDO0的收到数据就产生中断的配置
{CC1101_FIFOTHR, 0x47},
{CC1101_PKTCTRL0, 0x05},
{CC1101_CHANNR, 0x01},
{CC1101_FSCTRL1, 0x0B},
{CC1101_FSCTRL0, 0x00}, // Frequency synthesizer control.
{CC1101_FREQ2, 0x10},
{CC1101_FREQ1, 0xA7},
{CC1101_FREQ0, 0x62},
{CC1101_MDMCFG4, 0x7B}, //这里比较重要的是 MDMCFG4 - 0,这几个寄存器,其实我不知道这是什么意思,但是这样配置的话,发送端发送周期会下降至5ms
{CC1101_MDMCFG3, 0x83}, //按照其他文章配置的话,发送周期将会到达100ms,发送周期太长的话,接收端不好接收数据
{CC1101_MDMCFG2, 0x93}, //这里的“发送周期”不是指连续发送,而是每次只发几个字节,用来唤醒CC1101。(这里表述不清楚,真是不好意思)
{CC1101_MDMCFG1, 0x23}, // Modem configuration. //其余的和网上的配置差不多
{CC1101_MDMCFG0, 0xA4}, // Modem configuration.
{CC1101_DEVIATN, 0x15},
{CC1101_FREND1, 0x56}, // Front end RX configuration.
{CC1101_FREND0, 0x10}, // Front end RX configuration.
{CC1101_MCSM0, 0x18},
{CC1101_FOCCFG, 0x16},
{CC1101_BSCFG, 0x6C}, // Bit synchronization Configuration.
{CC1101_AGCCTRL2, 0x43}, // AGC control.
{CC1101_AGCCTRL1, 0x40}, // AGC control.
{CC1101_AGCCTRL0, 0x91}, // AGC control.
{CC1101_FSCAL3, 0xA9},
{CC1101_FSCAL2, 0x0A},
{CC1101_FSCAL1, 0x00},
{CC1101_FSCAL0, 0x11},
{CC1101_TEST2, 0x81},
{CC1101_TEST1, 0x35},
{CC1101_MCSM1, 0x3B},
初始化函数: //以下是初始化函数的操作,值得注意的是这里配置了地址。一般CC1101选择信道就可以了。我也是跟着别人配置的
void cc1101Init(void)
{
unsigned char i;
SPI_GPIO_Init();
Reset();
for(i=0;i<0xff;i++);
for(i=0;i<0xff;i++);
for( i = 0; i < 30; i++ ) //28
{
WriteReg(CC1101InitData[0],CC1101InitData[1]);
}
//cc1101_mode(RX_MODE);
CC1101SetAddress( 0x05, BROAD_0AND255 );
CC1101SetSYNC( 0x8799 );
WriteReg(CC1101_MDMCFG1, 0x72); //Modem Configuration
WriteMultiReg(CC1101_PATABLE, PaTabel, 8 );
i = ReadStatus( CC1101_PARTNUM );//for test, must be 0x80
i = ReadStatus( CC1101_VERSION );//for test, refer to the datasheet
CC1101SetTRMode(RX_MODE);
}
unsigned char PaTabel[8] = { 0xc0, 0xC8, 0x84, 0x60, 0x68, 0x34, 0x1D, 0x0E};
|
|