作者:mikeliujia
作品名称:CC1100无线开发平台
用过TI的CC1100和CC2430,这里分享下ATmega16L+CC1100的无线开发平台,其实这个平台不仅仅可以使用CC1100进行无线开发,还能使用CC2500,nRF2401,nRF24L01进行无线开发,下面是开发平台实物图和电路原理图。![]()
//****************************************************************************
//ILLUMINATE: 配置CC1100寄存器
//****************************************************************************
void WRITERFSETTINGS(void)
{
SPIWRITEREG(TI_CC1100_IOCFG2,0x2E); //( 0x2E)高阻抗,3状态
SPIWRITEREG(TI_CC1100_IOCFG1,0x2E); //( 0x2E)高阻抗,3状态
SPIWRITEREG(TI_CC1100_IOCFG0,0x06); //( 6) Asserts when sync word has been sent / received, and de-asserts at the end of the packet
SPIWRITEREG(TI_CC1100_FIFOTHR,0x07); //设置接收、发送缓冲区门限:发送缓冲区为33;接收缓冲区为32
SPIWRITEREG(TI_CC1100_SYNC1,0xD3); //设置同步字高字节为0xD3
SPIWRITEREG(TI_CC1100_SYNC0,0x91); //设置同步字低字节为0x91
SPIWRITEREG(TI_CC1100_PKTLEN,0x3D); //设置通讯包最大长度为61个字节
SPIWRITEREG(TI_CC1100_PKTCTRL1,0x04); //设置数据包后面包含两个状态字节,无地址检测
SPIWRITEREG(TI_CC1100_PKTCTRL0,0x45); //设置数据白化开启;正常模式,通过FIFOS发送接收;CRC检测有效;设置为可变数据包长度
SPIWRITEREG(TI_CC1100_ADDR,0x00); //设置模块地址为0X00
SPIWRITEREG(TI_CC1100_CHANNR,0x00); //设置CHANNEL NUMBER为0X01
SPIWRITEREG(TI_CC1100_FSCTRL1,0x06); //设置频率合成器控制寄存器,STUDIO软件自动生成
SPIWRITEREG(TI_CC1100_FSCTRL0,0x00); //设置频率合成器控制寄存器
SPIWRITEREG(TI_CC1100_FREQ2,0x10); //RF频率为433MHZ
SPIWRITEREG(TI_CC1100_FREQ1,0xA7); //RF频率为433MHZ
SPIWRITEREG(TI_CC1100_FREQ0,0x62); //RF频率为433MHZ
SPIWRITEREG(TI_CC1100_MDMCFG4,0xC9); //配置RF滤波带宽为100KHZ,波特率19200
SPIWRITEREG(TI_CC1100_MDMCFG3,0x83); //配置通讯波特率为9.6kps
SPIWRITEREG(TI_CC1100_MDMCFG2,0x0B); //设置调制模式为FSK,使能人工调制,同步字设置16位检测模式
SPIWRITEREG(TI_CC1100_MDMCFG1,0x22); //设置前向纠错检测FEC无效,设置前导字节数为2,
SPIWRITEREG(TI_CC1100_MDMCFG0,0xF8); //设置信道空间为199.951kHZ
SPIWRITEREG(TI_CC1100_DEVIATN,0x34); //配置频率偏移为19KHZ
SPIWRITEREG(TI_CC1100_MCSM2,0x03); //Trxtimeout=14ms
SPIWRITEREG(TI_CC1100_MCSM1,0x30); //主通讯控制状态机配置,Return to IDLE state upon leaving either TX or RX
SPIWRITEREG(TI_CC1100_MCSM0,0x18); //主通讯控制状态机配置,每4次IDLE到RX状态切换自动校准一次
SPIWRITEREG(TI_CC1100_FOCCFG,0x16); //频率偏移补偿配置,值由SmartRF Studio软件给出
SPIWRITEREG(TI_CC1100_BSCFG,0x6C); //位同步配置,值由SmartRF Studio软件给出
SPIWRITEREG(TI_CC1100_AGCCTRL2,0x43); //AGC 控制寄存器配置,值由SmartRF Studio软件给出
SPIWRITEREG(TI_CC1100_AGCCTRL1,0x40); //AGC 控制寄存器配置,值由SmartRF Studio软件给出
SPIWRITEREG(TI_CC1100_AGCCTRL0,0x91); //AGC 控制寄存器配置,值由SmartRF Studio软件给出
SPIWRITEREG(TI_CC1100_WOREVT1,0x19); //高字节事件0 工作暂停,设置Tevent0=6秒钟 0D AN
SPIWRITEREG(TI_CC1100_WOREVT0,0x64); //高字节事件0 工作暂停,设置Tevent0=6秒钟 80 AN
SPIWRITEREG(TI_CC1100_WORCTRL,0xF9); //WOR控制设置,使能RC校准,WOR_RES = 1
SPIWRITEREG(TI_CC1100_FREND1,0x56); //前端RX配置,值由SmartRF Studio软件给出
SPIWRITEREG(TI_CC1100_FREND0,0x10); //前端TX配置,值由SmartRF Studio软件给出
SPIWRITEREG(TI_CC1100_FSCAL3,0xA9); //频率合成器校准,值由SmartRF Studio软件给出
SPIWRITEREG(TI_CC1100_FSCAL2,0x2A); //频率合成器校准,值由SmartRF Studio软件给出
SPIWRITEREG(TI_CC1100_FSCAL1,0x00); //频率合成器校准,值由SmartRF Studio软件给出
SPIWRITEREG(TI_CC1100_FSCAL0,0x11); //频率合成器校准,值由SmartRF Studio软件给出
SPIWRITEREG(TI_CC1100_FSTEST,0x59); //频率合成器校准,值由SmartRF Studio软件给出
SPIWRITEREG(TI_CC1100_PTEST,0x7F); //频率合成器校准,值由SmartRF Studio软件给出
SPIWRITEREG(TI_CC1100_AGCTEST,0x3F); //频率合成器校准,值由SmartRF Studio软件给出
SPIWRITEREG(TI_CC1100_TEST2,0x81); //频率合成器校准,值由SmartRF Studio软件给出
SPIWRITEREG(TI_CC1100_TEST1,0x35); //频率合成器校准,值由SmartRF Studio软件给出
SPIWRITEREG(TI_CC1100_TEST0,0x0B); //频率合成器校准,值由SmartRF Studio软件给出
SPIWRITEREG(0x2f,0x00); //FSCAL0 寄存器地址通过W寄存器放到SPIADDR
}
![]()



