主题中讨论的其他器件: CC1100
大家好、
我在接收器模式(433MHz)下的 CC1101出现问题。 起初、它正常工作、但一天之后、代码被占用在"while (GDO0)"上;它不读取任何值。
我使用 SFRX 进行溢出。
我使用 STM32F07xx MCU、我使用 SPI 连接。 我使用4MHz 振荡器。
我能理解,请帮我,我不能理解哪里出错了?
我的主接收器代码:
和接收器代码:
和 GDO 中断代码:
RF 初始化代码:
我的射频设置:
//地址配置=无地址检查
//基频= 432.999817
// CRC 自动刷新= false
// CRC 使能= true
//载波频率= 432.999817
//通道编号= 0
//通道间距= 199.951172
//数据格式=正常模式
//数据速率= 1.19948
//偏差= 25.390625
//设备地址= 0
//曼彻斯特启用= false
//调制= true
//调制格式= GFSK
// PA 斜升= false
//数据包长度= 20
//数据包长度模式=可变数据包长度模式。 由同步字之后的第一个字节配置的数据包长度
//前导码计数= 4
// RX 滤波器带宽= 101.562500
//同步字限定器模式= 16/16 +载波侦听高于阈值
// TX 功率= 0
// Whitening = false
//
// CC1101的射频设置
//
TI_WRITE_REG (CCxxx0_IOCFG2、0x29);//GDO2输出引脚配置
TI_WRITE_reg (CCxxx0_IOCFG1、0x2E);//GDO1输出引脚配置
TI_WRITE_REG (CCxxx0_IOCFG0、0x06);//GDO0输出引脚配置
TI_WRITE_reg (CCxxx0_FIFOHR、0x47);//RX FIFO 和 TX FIFO 阈值
TI_WRITE_reg (CCxxx0_SYNC1、0xD3);//同步字、高字节
TI_WRITE_reg (CCxxx0_SYNC0、0x91);//同步字、低字节
TI_WRITE_reg (CCxxx0_PKTLEN、0xFF);//数据包长度
TI_WRITE_REG (CCxxx0_PKTCTRL1、0x04);//数据包自动化控制
TI_WRITE_REG (CCxxx0_PKTCTRL0、0x05);//数据包自动化控制
TI_WRITE_reg (CCxxx0_ADDR、0x00);//器件地址
TI_WRITE_reg (CCxxx0_CHANNR、0x00);//通道编号
TI_WRITE_REG (CCxxx0_FSCTRL1、0x08);//频率合成器控制
TI_WRITE_REG (CCxxx0_FSCTRL0、0x00);//频率合成器控制
TI_WRITE_REG (CCxxx0_FREQ2、0x10);//频率控制字、高字节
TI_WRITE_reg (CCxxx0_FREQ1、0xB4);//频率控制字、中间字节
TI_WRITE_reg (CCxxx0_FREQ0、0x2E);//频率控制字、低字节
TI_WRITE_REG (CCxxx0_MDMCFG4、0xCA);//调制解调器配置
TI_WRITE_REG (CCxxx0_MDMCFG3、0x83);//调制解调器配置
TI_WRITE_reg (CCxxx0_MDMCFG2、0x93);//调制解调器配置
TI_WRITE_reg (CCxxx0_MDMCFG1、0x22);//调制解调器配置
TI_WRITE_reg (CCxxx0_MDMCFG0、0xF8);//调制解调器配置
TI_WRITE_REG (CCxxx0_DEVIATN、0x34);//调制解调器偏差设置
TI_WRITE_REG (CCxxx0_MCSM2、0x07);//主无线电控制状态机配置
TI_WRITE_REG (CCxxx0_MCSM1、0x30);//主无线电控制状态机配置
TI_WRITE_REG (CCxxx0_MCSM0、0x18);//主无线电控制状态机配置
TI_WRITE_reg (CCxxx0_FOCCFG、0x16);//频率偏移补偿配置
TI_WRITE_REG (CCxxx0_BSCFG、0x6C);//位同步配置
TI_WRITE_REG (CCxxx0_AGCCTRL2、0x43);//AGC 控制
TI_WRITE_reg (CCxxx0_AGCCTRL1、0x40);//AGC 控制
TI_WRITE_REG (CCxxx0_AGCCTRL0、0x91);//AGC 控制
TI_WRITE_REG (CCxxx0_WOREVT1、0x87);//高字节事件0超时
TI_WRITE_REG (CCxxx0_WOREVT0、0x6B);//低字节事件0超时
TI_WRITE_reg (CCxxx0_WORCTRL、0xf8);//无线电控制唤醒
TI_WRITE_reg (CCxxx0_FREND1、0x56);//前端 RX 配置
TI_WRITE_reg (CCxxx0_FREND0、0x10);//前端 TX 配置
TI_WRITE_reg (CCxxx0_FSCAL3、0xE9);//频率合成器校准
TI_WRITE_reg (CCxxx0_FSCAL2、0x2A);//频率合成器校准
TI_WRITE_reg (CCxxx0_FSCAL1、0x00);//频率合成器校准
TI_WRITE_REG (CCxxx0_FSCAL0、0x1F);//频率合成器校准
TI_WRITE_REG (CCxxx0_RCCTRL1、0x41);//RC 振荡器配置
TI_WRITE_REG (CCxxx0_RCCTRL0、0x00);//RC 振荡器配置
TI_WRITE_reg (CCxxx0_FSTEST、0x59);//频率合成器校准控制
TI_WRITE_reg (CCxxx0_ptest、0x7F);//生产测试
TI_WRITE_reg (CCxxx0_AGCTEST、0x3F);//AGC 测试
TI_WRITE_REG (CCxxx0_TEST2、0x81);//各种测试设置
TI_WRITE_reg (CCxxx0_TEST1、0x35);//各种测试设置
TI_WRITE_REG (CCxxx0_TEST0、0x09);//各种测试设置