谢谢,还有几个问题
1、extern bStatus_t RF_Rx( uint8_t *txBuf, uint8_t txLen, uint8_t pktRxType, uint8_t pktTxType );中pktRxType和pktTxType,有哪些消息类型,有什么资料吗?
2、ch573例程中,在回调函数里面也调用了RF_Shut(),博客里的那篇文章里却没有,应该用哪个?是不是在收发之前都调用一下RF_Shut(),来确保都能顺利进入收发模式
void RF_2G4StatusCallBack(uint8_t sta, uint8_t crc, uint8_t *rxBuf)
{
switch(sta)
{
case TX_MODE_TX_FINISH:
{
break;
}
case TX_MODE_TX_FAIL:
{
break;
}
case TX_MODE_RX_DATA:
{
RF_Shut();
if(crc == 1)
{
PRINT(“crc errorn”);
}
else if(crc == 2)
{
PRINT(“match type errorn”);
}
else
{
uint8_t i;
PRINT(“tx recv,rssi:%dn”, (int8_t)rxBuf[0]);
PRINT(“len:%d-”, rxBuf[1]);
for(i = 0; i 《 rxBuf[1]; i++)
PRINT(“%x ”, rxBuf[i + 2]);
PRINT(“n”);
}
break;
}
case TX_MODE_RX_TIMEOUT: // Timeout is about 200us
{
break;
}
case RX_MODE_RX_DATA:
{
if(crc == 1)
{
PRINT(“crc errorn”);
}
else if(crc == 2)
{
PRINT(“match type errorn”);
}
else
{
uint8_t i;
PRINT(“rx recv, rssi: %dn”, (int8_t)rxBuf[0]);
PRINT(“len: %d-”, rxBuf[1]);
for(i = 0; i 《 rxBuf[1]; i++)
PRINT(“%x ”, rxBuf[i + 2]);
PRINT(“n”);
}
tmos_set_event(taskID, SBP_RF_RF_RX_EVT);
break;
}
case RX_MODE_TX_FINISH:
{
tmos_set_event(taskID, SBP_RF_RF_RX_EVT);
break;
}
case RX_MODE_TX_FAIL:
{
break;
}
}
PRINT(“STA: %xn”, sta);
}
3、
bStatus_t RF_RoleInit( void );
在并存的时候需要调用吗?
谢谢,还有几个问题
1、extern bStatus_t RF_Rx( uint8_t *txBuf, uint8_t txLen, uint8_t pktRxType, uint8_t pktTxType );中pktRxType和pktTxType,有哪些消息类型,有什么资料吗?
2、ch573例程中,在回调函数里面也调用了RF_Shut(),博客里的那篇文章里却没有,应该用哪个?是不是在收发之前都调用一下RF_Shut(),来确保都能顺利进入收发模式
void RF_2G4StatusCallBack(uint8_t sta, uint8_t crc, uint8_t *rxBuf)
{
switch(sta)
{
case TX_MODE_TX_FINISH:
{
break;
}
case TX_MODE_TX_FAIL:
{
break;
}
case TX_MODE_RX_DATA:
{
RF_Shut();
if(crc == 1)
{
PRINT(“crc errorn”);
}
else if(crc == 2)
{
PRINT(“match type errorn”);
}
else
{
uint8_t i;
PRINT(“tx recv,rssi:%dn”, (int8_t)rxBuf[0]);
PRINT(“len:%d-”, rxBuf[1]);
for(i = 0; i 《 rxBuf[1]; i++)
PRINT(“%x ”, rxBuf[i + 2]);
PRINT(“n”);
}
break;
}
case TX_MODE_RX_TIMEOUT: // Timeout is about 200us
{
break;
}
case RX_MODE_RX_DATA:
{
if(crc == 1)
{
PRINT(“crc errorn”);
}
else if(crc == 2)
{
PRINT(“match type errorn”);
}
else
{
uint8_t i;
PRINT(“rx recv, rssi: %dn”, (int8_t)rxBuf[0]);
PRINT(“len: %d-”, rxBuf[1]);
for(i = 0; i 《 rxBuf[1]; i++)
PRINT(“%x ”, rxBuf[i + 2]);
PRINT(“n”);
}
tmos_set_event(taskID, SBP_RF_RF_RX_EVT);
break;
}
case RX_MODE_TX_FINISH:
{
tmos_set_event(taskID, SBP_RF_RF_RX_EVT);
break;
}
case RX_MODE_TX_FAIL:
{
break;
}
}
PRINT(“STA: %xn”, sta);
}
3、
bStatus_t RF_RoleInit( void );
在并存的时候需要调用吗?
举报