老师们好,初次接触2.4G芯片,今天尝试2.4G直接发送、接收,但没搞清楚如何主动控制手法,请指点一下,函数中的SBP_RF_PERIODIC_EVT位应该是与发送有关,这个应该怎么控制呢,或者有没有相关的说明资料发我学习下也可以,谢谢。
/*********************************************************************
* @fn RF_ProcessEvent
*
* @brief RF 事件处理
*
* @param task_id - 任务ID
* @param events - 事件标志
*
* @return 未完成事件
*/
uint16_t RF_ProcessEvent(uint8_t task_id, uint16_t events)
{
if(events & SYS_EVENT_MSG)
{
uint8_t *pMsg;
if((pMsg = tmos_msg_receive(task_id)) != NULL)
{
// Release the TMOS message
tmos_msg_deallocate(pMsg);
}
// return unprocessed events
return (events ^ SYS_EVENT_MSG);
}
if(events & SBP_RF_START_DEVICE_EVT)
{
tmos_start_task(taskID, SBP_RF_PERIODIC_EVT, 1000);
return events ^ SBP_RF_START_DEVICE_EVT;
}
if(events & SBP_RF_PERIODIC_EVT)
{
RF_Shut();
RF_Tx(TX_DATA, 10, 0xFF, 0xFF);
tmos_start_task(taskID, SBP_RF_PERIODIC_EVT, 1000);
return events ^ SBP_RF_PERIODIC_EVT;
}
if(events & SBP_RF_RF_RX_EVT)
{
uint8_t state;
RF_Shut();
TX_DATA[0]++;
state = RF_Rx(TX_DATA, 10, 0xFF, 0xFF);
PRINT("RX mode.state = %x\n", state);
return events ^ SBP_RF_RF_RX_EVT;
}
return 0;
}