WCH沁恒单片机
直播中

久醉不醒

10年用户 1121经验值
擅长:可编程逻辑 电源/新能源
私信 关注
[问答]

CH571F用做RF2.4G通讯时,经常出现CRC错误怎么解决?

CH571F 未启用蓝牙,用做RF2.4G 通讯时,设备板子上外接了一个别的BLE蓝牙模块,CH571的RF通讯时经常出现CRC错误,已经把 通讯频率做调整如改为2483500,但是效果不明显,以下是初始化配置
void RF_Init( void )
{
  uint8 state;
  rfConfig_t rfConfig;
  taskID_RF = TMOS_ProcessEventRegister(RF_ProcessEvent);
  rfConfig.accessAddress = 0x71764129;// 禁止使用0x55555555以及0xAAAAAAAA ( 建议不超过24次位反转,且不超过连续的6个0或1 )
  rfConfig.CRCInit = 0x555555;
  rfConfig.Channel = 8;
//  rfConfig.Frequency = 2480000;
  rfConfig.Frequency = 2483500; //与BLE 频率错开 效果不明显
  rfConfig.LLEMode = LLE_MODE_BASIC | LLE_MODE_EX_CHANNEL; // 使能 LLE_MODE_EX_CHANNEL 表示 选择 rfConfig.Frequency 作为通信频点
  rfConfig.rfStatusCB = RF_2G4StatusCallBack;
  state = RF_Config( &rfConfig );
  PRINT("rf 2.4g init: %xn",state);
  {
    state = RF_Rx( RF_TX_DATA,10, 0xFF, 0xFF );
    PRINT("RX mode.state = %xn",state);
  }
}


回帖(1)

杨燕

2022-8-4 09:50:00
是的,当你的另一个蓝牙模块距离太近时,会产生干扰,可以尝试这样解决:
1,将你的模块贴的远一点,
2,如果仍然不行,我们的芯片也是可以跑蓝牙和2.4g的。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分