单发单收模式,当发射端信号不好,或受到干扰后,CC1101永远接收不到数据了,如何解决
使用条件:
1、单发,单收。GDO2 中断输出接收。接收端收完一包(60字节)后切换到接收状态继续收。发送端5秒发一次.
发生以下两种情况时,接收端永远收不到数据了。
1、受到干扰。
2、发射端信号不好(离的太远)
后来人为制造发射端信号不稳,比如,发送端发送数据一半的时候断电,然后重启发送端继续发送,此时接收端永远收不到数据了,用示波器测量GDO2(配置为0X07)与GDO0(配置为0x06)也一直测不到信号。
请问如何解决此问题。
配置如下:、
code RF_SETTINGS rfSettings = {
0x00,
0x0B, // FSCTRL1 Frequency synthesizer control.
0x00, // FSCTRL0 Frequency synthesizer control.
0x10, // FREQ2 Frequency control word, high byte. // 432.4999M
0xA2, // FREQ1 Frequency control word, middle byte. // 432.4999M
0x76, // FREQ0 Frequency control word, low byte. // 432.4999M
0xF6, // MDMCFG4 Modem configuration. // 2.4K
0x83, // MDMCFG3 Modem configuration. // 2.4K
0x13, // MDMCFG2 Modem configuration. // 步进200kHz
0x22, // MDMCFG1 Modem configuration. // 步进200kHz
0xF8, // MDMCFG0 Modem configuration. // 步进200kHz
0x00, // CHANNR Channel number. // 频道
0x00, // DEVIATN Modem deviation setting (when FSK modulation is enabled).
0xB6, // FREND1 Front end RX configuration.
0x10, // FREND0 Front end RX configuration.
0x18, // MCSM0 Main Radio Control State Machine configuration.
0x1D, // FOCCFG Frequency Offset Compensation Configuration.
0x1C, // BSCFG Bit synchronization Configuration.
0xC7, // AGCCTRL2 AGC control.
0x00, // AGCCTRL1 AGC control.
0xB2, // AGCCTRL0 AGC control.
0xEA, // FSCAL3 Frequency synthesizer calibration.
0x0A, // FSCAL2 Frequency synthesizer calibration.
0x00, // FSCAL1 Frequency synthesizer calibration.
0x11, // FSCAL0 Frequency synthesizer calibration.
0x59, // FSTEST Frequency synthesizer calibration.
0x88, // TEST2 Various test settings.
0x31, // TEST1 Various test settings.
0x0B, // TEST0 Various test settings.
0x07, // IOCFG2 GDO2 output pin configuration. // GDO2设置
0x06, // IOCFG0D GDO0 output pin configuration. Refer to SmartRF?Studio User Manual for detailed pseudo register explanation.// GDO0设置
0x0c, // PKTCTRL1 Packet automation control. // 设置地址过滤用的
0x05, // PKTCTRL0 Packet automation control. // 设置数据白化 CRC校验 数据包模式
0xa1, // ADDR Device address. // 设置地址
0x40 // PKTLEN Packet length. // 数据包长度
};
您的意思是断电重启或是收到干扰时不能接收数据?那其他操作呢?是否能正常进行?
人为制造问题,发送端发送数据一半时断电,不要动接收端。再打开发送端正常发送数据,接收端就收不到数据了。
请问这种问题如何解决,是新片的BUG吗
建议试试cc1310,官方的launchpad不错,应该可以满足你的需求!