WCH沁恒单片机
直播中

李骏鹏

7年用户 1215经验值
私信 关注
[问答]

CH573 RF_PHY使用LLE_MODE_AUTO模式,ack是自动实现的还是需要用户实现?

CH573 RF_PHY例程,使用LLE_MODE_AUTO模式,ack是自动实现的还是需要用户实现?有相关的资料可参考吗?

PRINT("Channel=%drn",rf_chennel);
  taskID = TMOS_ProcessEventRegister( RF_ProcessEvent );
  rfConfig.accessAddress = 0x71764129;                  // 禁止使用0x55555555以及0xAAAAAAAA ( 建议不超过24次位反转,且不超过连续的6个0或1 )
  rfConfig.CRCInit = 0x555555;
  rfConfig.Channel = 1;
  rfConfig.Frequency = 2400000 + rf_chennel*1364;         // (2400000kHz-2483500kHz)
  rfConfig.LLEMode = LLE_MODE_BASIC|LLE_MODE_EX_CHANNEL;   // 使能 LLE_MODE_EX_CHANNEL 表示 选择 rfConfig.Frequency 作为通信频点
  rfConfig.rfStatusCB = RF_2G4StatusCallBack;
  state = RF_Config( &rfConfig );


  { // RX mode
    state = RF_Rx( RX_DATA,10, 0x01, 0x01 );
  }


  

回帖(1)

王辉

2022-8-18 11:14:10
使用LLE_MODE_AUTO 模式下, ack是自动实现的,
状态TX_MODE_TX_FINISH 对应发射模式下的发送完成,
TX_MODE_RX_DATA 和TX_MODE_RX_TIMEOUT 分别对应接收到ack 和接收超时,


RX_MODE_TX_FINISH 代表ACK回复完成,
ack的内容和长度在 state = RF_Rx( RX_DATA,10, 0x01, 0x01 ); 函数的第一个参数,和第二个参数,(比如这里为RX_DATA和10)
  rfConfig.Channel  是兼 容ble的channel
  rfConfig.Frequency 是具体的频率,单位是khz
这两个参数是互斥的, 当 rfConfig.LLEMode 中 LLE_MODE_EX_CHANNEL bit使能,将会 让  rfConfig.Frequency 则会个参数生效
举报

更多回帖

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