我有一组寄存器值取自之前的设计(使用了 SmartRF Studio 生成的值)。
复位后、我可以通过 SPI 精细地读取和写入寄存器、检查 CHIP_RDYn 等 但是、当我发出 SRX cmd 以进入 RX 模式时、每次我尝试读取寄存器时、内容始终返回0xx00。 我将在下面粘贴一些调试输出、但这并不是很令人兴奋。
实际上、我在这个阶段不需要读取寄存器、但我想读取 MARCSTATE 寄存器只是为了检查它是否进入 RX 模式(或者在它校准时有一些稳定状态)。 在将来的某个时候、我想在处理接收数据包时读取 RSSI、但这是另外一天。
《用户指南》第3.1.2节中有一条注释、表示您不应真正与寄存器在空闲状态以外的任何状态进行反向操作、但它不会说您无法读取任何状态?
当值为0x00时、我不相信会尝试读取状态寄存器、因为 如果处于空闲模式、通常会是0x00、所以我无法分辨差异
RF Transceiver (CC1200) is present. RF Transceiver is ready. AGC_CFG0_REG_ADDR = 0x87 AGC_CFG1_REG_ADDR = 0x51 AGC_CS_THR_REG_ADDR = 0xec CHAN_BW_REG_ADDR = 0x0b FIFO_CFG_REG_ADDR = 0x00 FS_CAL0_REG_ADDR = 0x0e FS_CAL1_REG_ADDR = 0x40 FS_CFG_REG_ADDR = 0x14 FS_DIG0_REG_ADDR = 0xaf FS_DIG1_REG_ADDR = 0x07 FS_DIVTWO_REG_ADDR = 0x03 FS_DSM0_REG_ADDR = 0x33 FS_DVC0_REG_ADDR = 0x17 FS_PFD_REG_ADDR = 0x00 FS_REG_DIV_CML_REG_ADDR = 0x1c FS_SPARE_REG_ADDR = 0xac FS_VCO0_REG_ADDR = 0xb5 IF_ADC0_REG_ADDR = 0x10 IF_ADC1_REG_ADDR = 0xee IQIC_REG_ADDR = 0xcb MDMCFG2_REG_ADDR = 0x08 MODCFG_DEV_E_REG_ADDR = 0x03 PA_CFG1_REG_ADDR = 0x6d PKT_CFG0_REG_ADDR = 0x20 PKT_CFG1_REG_ADDR = 0x00 PKT_CFG2_REG_ADDR = 0x03 PKT_LEN_REG_ADDR = 0xff PREAMBLE_CFG0_REG_ADDR = 0x8a PREAMBLE_CFG1_REG_ADDR = 0x00 SERIAL_STATUS_REG_ADDR = 0x08 SYMBOL_RATE0_REG_ADDR = 0x4e SYMBOL_RATE1_REG_ADDR = 0x62 SYMBOL_RATE2_REG_ADDR = 0x70 XOSC1_REG_ADDR = 0x03 XOSC5_REG_ADDR = 0x0e write to IOCFG3_REG_ADDR returned 0. IOCFG3_REG_ADDR = 0x11 write to IOCFG2_REG_ADDR returned 0. IOCFG2_REG_ADDR = 0x09 Entering RX mode... MARCSTATE_REG_ADDR = 0x00 IOCFG3_REG_ADDR = 0x00, status = 0 IOCFG2_REG_ADDR = 0x00, status = 0 IOCFG1_REG_ADDR = 0x00, status = 0 FREQ0_REG_ADDR = 0x00 FREQ1_REG_ADDR = 0x00 FREQ2_REG_ADDR = 0x00 SYNC_CFG1_REG_ADDR = 0x00 DEVIATION_M_REG_ADDR = 0x00 DCFILT_CFG_REG_ADDR = 0x00 MDMCFG1_REG_ADDR = 0x00 MDMCFG0_REG_ADDR = 0x00 AGC_REF_REG_ADDR = 0x00 AGC_CFG3_REG_ADDR = 0x00 FREQOFF_CFG_REG_ADDR = 0x00 MARCSTATE_REG_ADDR = 0x00



