📄 rfconfig.c
字号:
/******************************************************************************
* *
* **** ****** ****
* **** ******** ****
* **** **** **** ****
* **** **** **** **** wxl
* ******* *******
* ***** ***** 成都无线龙通讯科技有限公司
* *
*******************************************************************************
Filename: uart.c 文 件 名: uart.c
Target: cc1110 使用芯片: cc1110
Author: WXL 程 序 员: 无线龙
data: 1/12-2007 日 期: 1/12-2007
******************************************************************************/
/**********************************头文件**************************************/
#include "hal.h"
//#define FSTEST _XREGDF20
//#define PTEST _XREGDF21
//#define AGCTEST _XREGDF22
//#define TEST2 _XREGDF23
//#define TEST1 _XREGDF24
//#define TEST0 _XREGDF25
//static INT16 perRssiOffset; // RSSI offset for receiver, depends on
#define FREQUENCY_4_CC1110 433500 // radioConfigure() in
//-----------------------------------------------------------------------------
// See hal.h for a description of this function.
//-----------------------------------------------------------------------------
/****************************************************************************
//函数名:BOOL halRfConfig(UINT32 frequency)
//输 入:频率
//输 出:无
//返 回:状态
*****************************************************************************/
BOOL halRfConfig(UINT32 frequency)
{
BOOL status;
//打开主晶振
SET_MAIN_CLOCK_SOURCE(CRYSTAL);
if (frequency == FREQUENCY_4_CC1110) //判断频率
{
PA_TABLE0 = 0xC0; //功率设置为10dBm
FREQ2 = 0x10; // 设置频段433M
FREQ1 = 0xAC;
FREQ0 = 0x4E;
// 下面的配置通过 SmartRFStudio高频软件中CC1110部分配置,
// 250 k速率, GFSK 调制方式, 540 kHz 接收滤波带宽.
// 配置频率范围是433 MHz或868/915 MHz
FSCTRL1 = (frequency == FREQUENCY_4_CC1110) ? 0x0C : 0x12;
FSCTRL1 = 0x12; // 频率合成控制高位
FSCTRL0 = 0x00; //频率合成控制低位
MDMCFG4 = 0x2D; // 调制解调配置
MDMCFG3 = 0x3B;
MDMCFG2 = 0x13;
MDMCFG1 = 0x22;
MDMCFG0 = 0xF8;
DEVIATN = 0x62; //调制解调背离配置 (FSK调制时使能).
FREND1 = 0xB6;
FREND0 = 0x10;
MCSM0 = 0x18; // 无线控制状态配置
FOCCFG = 0x1D; // 频率偏移补偿配置
BSCFG = 0x1C; // 位同步配置
AGCCTRL2 = 0xC7; // AGC控制
AGCCTRL1 = 0x00;
AGCCTRL0 = 0xB0;
FSCAL3 = 0xEA; // 频率合成校准
FSCAL2 = (frequency == FREQUENCY_4_CC1110) ? 0x0A : 0x2A;
FSCAL0 = 0x1F;
TEST2 = 0x88; // 测试设置
TEST1 = 0x31;
TEST0 = 0x09;
// 校准合成器
SIDLE();
SCAL();
while(MARCSTATE != 0x01);
INT_SETFLAG(INUM_RFTXRX,INT_CLR);
status = TRUE;
}
else
{
status = FALSE;
}
return status;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -