CC2500无线模块初始化C代码

时间:2025-04-28


#include "CC2500.h"
//--------------------------------------------
void CC2500_Txing(void);
uint8 CC2500_RxPacket(void) ;
void CC2500_TxPacket(void);

uint8 CC2500_ReadReg(uint8 addr) ;
void CC2500_WriteBurstReg(uint8 addr, uint8 *buffer, uint8 count) ;
void CC2500_ReadBurstReg(uint8 addr, uint8 *buffer, uint8 count) ;
void CC2500_Write_RxADDR(void);
//void CC2500_Write_TxADDR(void);
//void CC2500_Write_TxADDR(uint8 Add);
//void CC2500_FH(uint8 feq);
//--------------------------------------------
uint8 CC2500_TxRxBuf[1+CC2500_DATA_LEN ];
uint8 CC2500_TxBuf[CC2500_DATA_LEN ];
uint8 CC2500_RxBuf[CC2500_DATA_LEN ];
uint8 Channr_Num=0;

//uint16 CC2500_Error_Count=0;
code uint8 PaTabel[8] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};

//--------------------------CC2500 寄存器配置---------------------------------
code CC2500_RF_SETTINGS CC2500_Config =
{
0x0B, //IOCFG2 GDO2 output pin configuration.
0x06, //IOCFG1
0x06, //IOCFG0 GDO0 output pin configuration.
0x07, //FIFOTHR
0xD3,//SYNC1 MSB
0x91, //SYNC0 LSB
1+CC2500_DATA_LEN, // PKTLEN Packet length.
0x02, // PKTCTRL1 Packet automation control.
0x44, // PKTCTRL0 Packet automation control.
0x02, // ADDR 设备地址

0x00, // CHANNR 信道编号
0x0A, // FSCTRL1 Frequency synthesizer control.
0x00, // FSCTRL0 Frequency synthesizer control.

0x5D, // FREQ2 Frequency control word, high byte.
0x44, // FREQ1 Frequency control word, middle byte.
0xEC, // FREQ0 Frequency control word, low byte.

0x2D, // MDMCFG4 Modem configuration.
0x3B, // MDMCFG3 Modem configuration.
0x73, // MDMCFG2 Modem configuration.
0x23, // MDMCFG1 Modem configuration.
0x3B, // MDMCFG0 Modem configuration.

0x01, // DEVIATN Modem deviation setting (when FSK modulation is enabled).

0x07, // MCSM2 Main Radio Control State Machine configuration.
0x30, // MCSM1 Main Radio Control State Machine configuration.
0x18, // MCSM0 Main Radio Control State Machine configuration.

0x1D, // FOCCFG Frequency Offset Compensation Configuration.
0x1C, // BSCFG Bit synchronization Configuration.

0xC7, // AGCCTRL2 AGC control.
0x00, // AGCCTRL1 AGC control.
0xB0, // AGCCTRL0 AGC control.

0x00, // WOREVT1
0x00, // WOREVT0
0x00, // WORCTRL

0xB6, // FREND1 Front end RX configuration.
0x10, // FREND0 Front end RX configuration.

0xEA, // FSCAL3 Frequency synthesizer calibration.
0x0A, // FSCAL2 Frequency synthesizer calibration.
0x00, // FSCAL1 Frequency synthesizer calibration.
0x11, // FSCAL0 Frequency synthesizer calibration.

0x00, //RCCTRL1
0x00, //RCCTRL0

0x59, // FSTEST Frequency synthes
izer calibration.
0x7F, //PTEST
0x3F, //AGCTEST

0x88, // TEST2 Various test settings.
0x31, // TEST1 Various test setting

s.
0x0B, // TEST0 Various test settings.
};

//---------------------------CC2500射频芯片初始化函数--------------------------------------
void CC2500_Init(uint8 CHA)
{
CSN = 1;
MCU_DelayMs(1);
CSN = 0;
MCU_DelayMs(1);
CSN = 1;
MCU_DelayMs(1);

CSN = 0;
SPI_Write(CCxxx0_SRES); //写入复位命令
CSN = 1;

CC2500_WriteReg(CCxxx0_IOCFG2, CC2500_Config.IOCFG2);
CC2500_WriteReg(CCxxx0_IOCFG0, CC2500_Config.IOCFG0);

CC2500_WriteReg(CCxxx0_PKTLEN, CC2500_Config.PKTLEN);
CC2500_WriteReg(CCxxx0_PKTCTRL1, CC2500_Config.PKTCTRL1);
CC2500_WriteReg(CCxxx0_PKTCTRL0, CC2500_Config.PKTCTRL0);
CC2500_WriteReg(CCxxx0_ADDR, CC2500_Config.ADDR);
CC2500_WriteReg(CCxxx0_CHANNR, CHA);

CC2500_WriteReg(CCxxx0_FSCTRL1, CC2500_Config.FSCTRL1);
CC2500_WriteReg(CCxxx0_FSCTRL0, CC2500_Config.FSCTRL0);

CC2500_WriteReg(CCxxx0_FREQ2, CC2500_Config.FREQ2);
CC2500_WriteReg(CCxxx0_FREQ1, CC2500_Config.FREQ1);
CC2500_WriteReg(CCxxx0_FREQ0, CC2500_Config.FREQ0);

CC2500_WriteReg(CCxxx0_MDMCFG4, CC2500_Config.MDMCFG4);
CC2500_WriteReg(CCxxx0_MDMCFG3, CC2500_Config.MDMCFG3);
CC2500_WriteReg(CCxxx0_MDMCFG2, CC2500_Config.MDMCFG2);
CC2500_WriteReg(CCxxx0_MDMCFG1, CC2500_Config.MDMCFG1);
CC2500_WriteReg(CCxxx0_MDMCFG0, CC2500_Config.MDMCFG0);

CC2500_WriteReg(CCxxx0_DEVIATN, CC2500_Config.DEVIATN);
CC2500_WriteReg(CCxxx0_MCSM2 , CC2500_Config.MCSM2 );
CC2500_WriteReg(CCxxx0_MCSM1 , CC2500_Config.MCSM1 );
CC2500_WriteReg(CCxxx0_MCSM0 , CC2500_Config.MCSM0 );

CC2500_WriteReg(CCxxx0_FOCCFG, CC2500_Config.FOCCFG);
CC2500_WriteReg(CCxxx0_BSCFG, CC2500_Config.BSCFG);

CC2500_WriteReg(CCxxx0_AGCCTRL2, CC2500_Config.AGCCTRL2);
CC2500_WriteReg(CCxxx0_AGCCTRL1, CC2500_Config.AGCCTRL1);
CC2500_WriteReg(CCxxx0_AGCCTRL0, CC2500_Config.AGCCTRL0);

CC2500_WriteReg(CCxxx0_FREND1, CC2500_Config.FREND1);
CC2500_WriteReg(CCxxx0_FREND0, CC2500_Config.FREND0);

CC2500_WriteReg(CCxxx0_FSCAL3, CC2500_Config.FSCAL3);
CC2500_WriteReg(CCxxx0_FSCAL2, CC2500_Config.FSCAL2);
CC2500_WriteReg(CCxxx0_FSCAL1, CC2500_Config.FSCAL1);
CC2500_WriteReg(CCxxx0_FSCAL0, CC2500_Config.FSCAL0);

CC2500_WriteReg(CCxxx0_FSTEST, CC2500_Config.FSTEST);
CC2500_WriteReg(CCxxx0_TEST2, CC2500_Config.TEST2);
CC2500_WriteReg(CCxxx0_TEST1, CC2500_Config.TEST1);
CC2500_WriteReg(CCxxx0_TEST0, CC2500_Config.TEST0);



CC2500_ …… 此处隐藏:7101字,全部文档内容请下载后查看。喜欢就下载吧 ……

CC2500无线模块初始化C代码.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219