我有一个板载 CC1200、我可以通过它进行发送和接收、但我有一些问题。 我将 GPIO3配置为 Pkt_SYNC_rxtx、 CC120X_IOCFG3、 0x06、但出于某种原因、该引脚始终读为高电平、从不会触发。 而是使用代码来检测数据包
cc120xSpiReadReg (CC120X_PQT_SYNC_ERR、&PreSyncLevel、1);
如果(((PreSyncLevel (0xF))<10)
HadPre=1;
检测是否检测到同步、然后延迟等待数据包的其余部分到达、然后读取 FIFO。 那么、如果我检测到同步、是否有另一个寄存器设置来使 GPIO3按定义工作?
我使用 RF Studio 来计算寄存器设置。
我的另一个问题是、在接近灵敏度水平的任何位置、它都不会接收到。 我必须将信号上拉至大约-31dBm 才能接收数据。 哪些寄存器设置会影响这一点? 感谢你的任何帮助。 这些是我的寄存器设置:
// RX 滤波器带宽= 14.880952 kHz
//地址配置=无地址检查。
//数据包长度=变量
//符号速率= 7.4ksps
//载波频率= 170MHz
//比特率= 7.4kbps
//数据包位长度= 0
//调制格式= 2-FSK
//数据包长度模式=变量
//设备地址= 0
//偏差= 3.681183kHz
// PA 斜升= true
静态常量寄存器 Setting_t preferredSettings[]=
{
{CC120X_IOCFG3、0x06}、//pkt_SYNC_RxTx、GPIO3
{CC120X_IOCFG2、0x01}、//RXFifo_THR_pktt -指示何时接收到数据包或数据包超过太多字节、GPIO2
{CC120X_IOCFG1、0x30}、// SO、GPIO1为高阻态
{CC120X_IOCFG0、0x02}、//txFifo_THR - TX FIFO 已填充超过阈值、GPIO0
{CC120X_SYNC3、0xD6}、
{CC120X_SYNC2、0xBA}、
{CC120X_SYNC1、0xD6}、
{CC120X_SYNC0、0x08}、//0xBA}、
{CC120X_SYNC_CFG1、0xAA}、//32位同步
{CC120X_SYNC_CFG0、0x03}、//禁用严格同步、同步不需要前导码
{CC120X_EXTERING_M、0xC1}、// fdev = 40e6*193/2^21
{CC120X_MODCFG_DEV_E、0x00}、//正常调制解调器模式、2FSK
{CC120X_DCFILT_CFG、0x5D}、
{CC120X_PREAMING_CFG1、0x28}、//8字节前导码、0xAA
{CC120X_PREAMING_CFG0、0x8A}、//启用前导码检测、11个符号直至有效
{CC120X_IQIC、0xCB}、
{CC120X_CHAN_BW、0x8E}、//0x87}、//60kHz //0x9C}、//ADC 抽取因子= 48、BB 解码因子= 28
{CC120X_MDMCFG1、0x40}、//始终搜索同步、FIFO 启用、无管理器(mdmCG2-0=-dev、1=+dev)
{CC120X_MDMCFG0、0x05}、//禁用透明、启用 Viterbi 检测
{CC120X_symbol_Rate2、0x68}、//7400 ksps
{CC120X_symbol_rate1、0x3F}、
{CC120X_symbol_RATE0、0x92}、
{CC120X_AGC_REF、0x2F}、//0x33}、//0x36}、//0x30}、
{CC120X_AGC_CS_THR、0xF7}、
{CC120X_AGC_GAIN_ADJUST、0x00}、
{CC120X_AGC_CFG3、0xA0}、//最小和最大增益设置为39dB
{CC120X_AGC_CFG2、0x31}、
{CC120X_AGC_CFG1、0x52}、/0x40}、
{CC120X_AGC_CFG0、0x4F}、//0x83}、
{CC120X_FIFO_CFG、0x00}、
{CC120X_DEV_ADDR、0x00}、
{CC120X_Settling_CFG、0x03}、//自动校准是手动使用 SCAL 选通
{CC120X_FS_CFG、0x1A}、//锁定检测器启用、136.7至160MHz 频段
//{CC120X_FS_CFG、0x1B}、//启用锁定检测器、136.7至160MHz 频段
{CC120X_WOR_CFG1、0x08}、//eWOR 正常模式
{CC120X_WOR_CFG0、0x20}、
{CC120X_WOR_EVENT0_MSB、0x03}、
{CC120X_WOR_EVENT0_LSB、0xA4}、
{CC120X_RXDCM_TIME、0x00}、
{CC120X_PKT_CFG2、0x00}、// FIFO 模式、正常模式
{CC120X_PKT_CFG1、0x01}、//0x03}、禁用//FEC、启用白化、 无地址检查、CRC、附加状态
{CC120X_PKT_CFG0、0x20}、//可变长度 pkt,无 UART
{CC120X_RFEND_CFG1、0x0F}、//正常 Rx pktt 后变为空闲、无 Rx 超时
{CC120X_RFEND_CFG0、0x00}、// TX 空闲后、RX 坏数据包保持在 Rx 中、无天线分集或 Rx 术语
{CC120X_PA_CFG1、0x3F}、//无功率斜升// 0x46}、
{CC120X_PA_CFG0、0x56}、
{CC120X_ASK_CFG、0x0F}、
{CC120X_PKT_LEN、0xFF}、//最大包长255、在这之后为扩展地址空间
{CC120X_IF_MIX _CFG、0x1C}、
{CC120X_FREQOFF_CFG、0x22}、//启用频率偏移校正
{CC120X_TOC_CFG、0x4B}、//0x0B}、
{CC120X_MARC_SPARE、0x00}、
{CC120X_ECG_CFG、0x00}、//将时钟除以64
{CC120X_MDMCFG2、0x0C}、
{CC120X_EXT_CTRL、0x01}、
{CC120X_RCCAL_Fine、0x00}、
{CC120X_RCCAL_ROLL、0x00}、
{CC120X_RCCAL_OFFSET、0x00}、
{CC120X_FREQOFF1、0x00}、
{CC120X_FREQOFF0、0x00}、
{CC120X_FREQ2、0x55}、//170
{CC120X_FREQ1、0x00}、
{CC120X_FREQ0、0x00}、
//{CC120X_FREQ2、0x52}、//137.485
//{CC120X_FREQ1、0xB5}、
//{CC120X_FREQ0、0x25}、
//{CC120X_IF_ADC2、0x02}、
//{CC120X_IF_ADC1、0xEE}、
//{CC120X_IF_ADC0、0x10}、
{CC120X_FS_DIG1、0x07}、
{CC120X_FS_DIG0、0xAF}、
{CC120X_FS_CAL3、0x00}、
{CC120X_FS_CAL2、0x20}、
{CC120X_FS_CAL1、0x40}、
{CC120X_FS_CAL0、0x0E}、
{CC120X_FS_CHP、0x28}、
{CC120X_FS_DIVTWO、0x03}、
{CC120X_FS_DSM1、0x00}、
{CC120X_FS_DSM0、0x33}、
{CC120X_FS_DVC1、0xFF}、
{CC120X_FS_DVC0、0x17}、
{CC120X_FS_LBI、0x00}、
{CC120X_FS_PFD、0x00}、
{CC120X_FS_PRE、0x6E}、
{CC120X_FS_REG_DIV_CML、0x1C}、
{CC120X_FS_SPARE、0xAC}、
{CC120X_FS_VCO4、0x14}、
{CC120X_FS_VCO3、0x00}、
{CC120X_FS_VCO2、0x00}、
{CC120X_FS_VCO1、0x00}、
{CC120X_FS_VCO0、0xB5}、
{CC120X_XOSC5、0x0E}、
{CC120X_XOSC4、0xA0}、
{CC120X_XOSC3、0x03}、
{CC120X_XOSC2、0x04}、
{CC120X_XOSC1、0x03}、
{CC120X_AGC_GAIN2、0xD1}、};//使用 AGC