📄 cc1100_smartrf.c.bak
字号:
#include "CC1100_z.h"
#include "CC1100_SMARTRF.h"
#include "CC1100_func.h"
#define FEC_EN 0x80
/******************************************************************************
//函数名: void CC1100_Config( viod )
//
//说明: 使用SmartRF Studio产生的数据配置CC1100/CC2500寄存器。
//
// 参数: 无。
//
******************************************************************************/
void CC1100_Config( void )
{
Write_Register( CC1100_FSCTRL1, SMARTRF_SETTING_FSCTRL1 ); //频率合成器控制寄存器1,设置IF中频。
Write_Register( CC1100_FSCTRL0, SMARTRF_SETTING_FSCTRL0 ); //频率合成器控制寄存器0,设置频率偏差补偿初值。
Write_Register( CC1100_FREQ2, SMARTRF_SETTING_FREQ2 ); // 频率控制字寄存器2(高字节)。设定载波频率
Write_Register( CC1100_FREQ1, SMARTRF_SETTING_FREQ1 ); // 频率控制字寄存器1(中字节)。
Write_Register( CC1100_FREQ0, SMARTRF_SETTING_FREQ0 ); // 频率控制字寄存器0(低字节)。
Write_Register( CC1100_MDMCFG4, SMARTRF_SETTING_MDMCFG4 ); // 调制解调器配置寄存器4。设定信道带宽和信符速率。
Write_Register( CC1100_MDMCFG3, SMARTRF_SETTING_MDMCFG3 ); // 调制解调器配置寄存器3。设定信符速率。
Write_Register( CC1100_MDMCFG2, SMARTRF_SETTING_MDMCFG2 ); // 调制解调器配置寄存器2。设定DC滤波、调制格式、同步字认证。
Write_Register( CC1100_MDMCFG1, SMARTRF_SETTING_MDMCFG1 ); // 调制解调器配置寄存器1。设定FEC、前序字节数、信道间隔。
Write_Register( CC1100_MDMCFG0, SMARTRF_SETTING_MDMCFG0 ); // 调制解调器配置寄存器0。设定信道间隔。
// Write_Register( CC1100_CHANNR, SMARTRF_SETTING_CHANNR ); // 信道编号寄存器。
Write_Register( CC1100_DEVIATN, SMARTRF_SETTING_DEVIATN ); // 调制解调器频移设置。
Write_Register( CC1100_FREND1, SMARTRF_SETTING_FREND1 ); // RX前端配置寄存器。调节RX前端电路的电流。
Write_Register( CC1100_FREND0, SMARTRF_SETTING_FREND0 ); // TX前端配置寄存器。调节TX电路电流、输出功率号。
Write_Register( CC1100_MCSM0, SMARTRF_SETTING_MCSM0 ); // 主射频控制状态机配置寄存器。设定自动校准使能、校准方式、上电延时、管脚切换状态、晶振控制。
Write_Register( CC1100_FOCCFG, SMARTRF_SETTING_FOCCFG ); // 频率偏差补偿配置寄存器。设定自动补偿使能、补偿环路增益、饱和点。
Write_Register( CC1100_BSCFG, SMARTRF_SETTING_BSCFG ); // 位同步配置寄存器。设置接收同步字前后增益、数据速率偏差补偿饱和点。
Write_Register( CC1100_AGCCTRL2, SMARTRF_SETTING_AGCCTRL2 ); // AGC控制寄存器2。设置DVGA增益、LAN增益、解调器人口平均电平。
Write_Register( CC1100_AGCCTRL1, SMARTRF_SETTING_AGCCTRL1 ); // AGC控制寄存器1。设置LAN增益调节方式、相对和绝对载波检测门限。
Write_Register( CC1100_AGCCTRL0, SMARTRF_SETTING_AGCCTRL0 ); // AGC控制寄存器0。设置AGC回差、采样次数、增益冻结控制、等
Write_Register( CC1100_FSCAL3, SMARTRF_SETTING_FSCAL3 ); // 频率合成器校准值寄存器。
Write_Register( CC1100_FSCAL2, SMARTRF_SETTING_FSCAL2 ); // 频率合成器校准值寄存器。
Write_Register( CC1100_FSCAL1, SMARTRF_SETTING_FSCAL1 ); // 频率合成器校准值寄存器。
Write_Register( CC1100_FSCAL0, SMARTRF_SETTING_FSCAL0 ); // 频率合成器校准值寄存器。
//以下4个寄存器用于测试目的,由于SLEEP不保留其内容,故唤醒后必须重写。其值由SmartRF Stdio软件给出。
// Write_Register( CC1100_FSTEST, SMARTRF_SETTING_FSTEST ); // 频率合成器校准值寄存器。
// Write_Register( CC1100_TEST2, SMARTRF_SETTING_TEST2 ); // 多种测试寄存器2。
// Write_Register( CC1100_TEST1, SMARTRF_SETTING_TEST1 ); // 多种测试寄存器1。
// Write_Register( CC1100_TEST0, SMARTRF_SETTING_TEST0 ); // 多种测试寄存器0。多信道时每个信道该值不同。
// SMARTRF_SETTING_FIFOTHR
// Write_Register( CC1100_IOCFG2, SMARTRF_SETTING_IOCFG2 ); // GDO2输出管脚配置寄存器。
// Write_Register( CC1100_IOCFG0, SMARTRF_SETTING_IOCFG0D ); // GDO0输出管脚配置寄存器。
// Write_Register( CC1100_PKTCTRL1, SMARTRF_SETTING_PKTCTRL1 ); // 数据包自动控制寄存器。设置同步字接收门限控制、CRC失败时清RXFIFO控制、附加状态信息控制、地核对控制。
// Write_Register( CC1100_PKTCTRL0, SMARTRF_SETTING_PKTCTRL0 ); // 数据包自动控制寄存器。白化使能、包格式选择、CRC使能、包长度模式选择。
// Write_Register( CC1100_ADDR, SMARTRF_SETTING_ADDR ); // 芯片节点地址寄存器。
// Write_Register( CC1100_PKTLEN, SMARTRF_SETTING_PKTLEN ); // 数据包长度寄存器。
// Write_burst( CC1100_PATABLE, &SETTING_PaTable[0], PaTabLen ); //写功率表。
// Write_Register( CC1100_PATABLE, POW_10dBm ); //写功率表。由主程序写。
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -