1.将数据包发送间隔设置为小于10ms、 CC1310无法接收数据
2.将发送包长设置为大于3k、 cc1310无法接收到任何数据
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
void Pkg_errate_RXTest (void)
{
/******** RF发送数据测试 /
uint16_t pktLength=RX_MAXLEN;
uint8_t * pPacket;
RF_Params rfParams;
rf_params_init (&rfParams);
if (RFQueue_defineQueue (0、
rfQueue[0],
RFRx_buf、
sizeof (rfrx_buf)、
1、
RX_MAXLEN + 6){
/*无法为所有数据条目分配空间*/
while (true);
}
RF_cmdRadioSetup_hsm.config.frontEndMode = 0x00;
rfHandle = rf_open (&rfObject、&rf_prop_HSM、(RF_RadioSetup*)&RF_cmdRadioSetup_HSM、&rfParams);
if (rfHandle == NULL){
while (true);
}
RF_cmdFs.frequency=0x0393;
RF_EventMask 结果= RF_runCmd (rfHandle、(RF_Op*)和 RF_cmdFS、RF_PriorityNormal、NULL、0);
if (((result != RF_EventLastCmdDone)||(volatile RF_Op*)&RF_cmdFS)->status != DONE_OK){
while (true);
}
PINCC26XX_setMux (pinHandle、Board_PIN_PATXEN、PINCC26XX_MUX_RFC_GPO1);
CC1310_RFtxrxSw (RFSW_RX);
CC1310_AntennaSw (RFANT_CH1);
PINCC26XX_setMux (pinHandle、Board_PIN_LNAEN1、PINCC26XX_MUX_RFC_GPO0);
uint16_t Pkg_Num = 0;
uint16_t reV_Num=0;
UART_WRITE (UART、"勘误测试\r\n"、strlen ("勘误测试\r\n"));
while (1)
{
//设置高速 Rx 命令
rf_cmdRxHS.pQueue =&rfQueue[0];
RF_cmdRxHS.maxPktLen = RX_MAXLEN;
rf_cmdRxHS.pktConf.bFsOff = false;//在执行命令后保持频率同步*/
rf_cmdRxHS.pktConf.bUseCrc = true;/*接收和检查 CRC */
rf_cmdRxHS.pktConf.bVarLen = true;/*可变长度*/
RF_cmdRxHS.pktConf.bRepeatOk = false;//接收单个有效数据包后停止*/
rf_cmdRxHS.pktConf.bRepeatNok = true;//接收到包含 CRC 错误的数据包后返回同步搜索*/
rf_cmdRxHS.rxConf.bAutoFlushCrcErr = true;//从 Rx 队列中丢弃具有 CRC 错误的数据包*/
rf_cmdRxHS.rxConf.bIncludeLen = true;/*在存储的数据包中包含接收到的长度字段*/
rf_cmdRxHS.rxConf.bIncludeCrc = false;//在存储的数据包中排除接收到的 CRC 字段*/
rf_cmdRxHS.rxConf.bAppendStatus = false;/*没有状态字附加到 Rx 队列中的数据包*/
rf_cmdRxHS.rxConf.bAppendTimestamp = true;/*将 RX 时间戳添加到数据包有效载荷中*/
rf_cmdRxHs.startTrigg.triggerType = trig_now;
rf_cmdRxHS.startTrigger.pastTrig = 1;
RF_cmdRxHS.StartTime = 0;
RF_cmdRxHS.endTrigg.triggerType = TRIG_ABSTIME;
RF_cmdRxHS.endTrigger.pastTrig = 1;
RF_cmdRxHS.EndTime = RF_getCurrentTime ()+ RF_convertMsToRatTicks (500);
// RF_cmdRxHS.endTrigg.triggerType = trig_never;
// RF_cmdRxHS.endTrigger.pastTrig = 0;
// RF_cmdRxHS.EndTime = 0;
RF_EventMask 终结点 Reason=RF_runCmd (rfHandle、(RF_Op*)&RF_cmdRxHS、RF_PriorityNormal、
&RFCallback、RF_EventRxEntryDone);//&RFCallback
if (terminationReason==RF_EventRxEntryDone)
{
currentDataEntry[0]= RFQueue_getDataEntry (0);
RFQueue_nextEntry (0);
pPacket =¤tDataEntry[0]->data;
// currentDataEntry[0]->length = pktLength;
Pkg_Num =(* pPacket)>>8)+*(pPacket+1);
REV_Num++;
如果(Pkg_Num == 0)
{
//号 打印rev
UART_WRITE (uart、"errate:"、strlen ("errate:"));
ANSWER_NO2[0]=(rev_Num>>8)&0x00ff;
ANSWER_NO2[1]=reV_Num&0x00ff;
UART_WRITE (UART、ANSWER_NO2、2);
REV_Num=0;
UART_WRITE (uart、"\r\n"、strlen ("\r\n"));
}
}
}
}
#define TX_MAXLEN 2048
void Pkg_errate_TxTest (void)
{
/******** RF发送数据测试 /
uint16_t pktLength=TX_MAXLEN;
uint8_t * pPacket;
RF_Params rfParams;
rf_params_init (&rfParams);
if (RFQueue_defineQueue (1、
rfQueue[1](&R),
RFTx_buf、
sizeof (RFTx_buf)、
1、
TX_MAXLEN + 6)){
/*无法为所有数据条目分配空间*/
while (true);
}
RF_cmdRadioSetup_hsm.config.frontEndMode = 0x00;
rfHandle = rf_open (&rfObject、&rf_prop_HSM、(RF_RadioSetup*)&RF_cmdRadioSetup_HSM、&rfParams);
if (rfHandle == NULL){
while (true);
}
RF_cmdFs.frequency=0x0393;
RF_EventMask 结果= RF_runCmd (rfHandle、(RF_Op*)和 RF_cmdFS、RF_PriorityNormal、NULL、0);
if (((result != RF_EventLastCmdDone)||(volatile RF_Op*)&RF_cmdFS)->status != DONE_OK){
while (true);
}
while (1)
{
uint16_t Test_Times = 1000;
while (Test_Times)
{
rf_cmdNop.startTrigger.triggerType = TRIG_ABSTIME;
rf_cmdNop.startTrigger.pastTrig = 1;
/*设置命令链的下一个指针*/
rf_cmdNop.pNextOp =(RFC_RADIOP_t*)&RF_cmdTxHS;
RF_cmdNop.StartTime = RF_getCurrentTime ();
//设置高速 Tx 命令
rf_cmdTxHS.pQueue =&rfQueue[1];
rf_cmdTxHS.startTrigg.triggerType = TRIG_ABSTIME;
rf_cmdTxHS.startTrigger.pastTrig = 1;
RF_cmdTxHS.StartTime = 0;
rf_cmdTxHs.pktConf.bFsOff = false;
rf_cmdTxHs.pktConf.bUseCrc = true;
rf_cmdTxHs.pktConf.bVarLen = true;
rf_cmdTxHs.pktConf.bCheckQAtEnd = false;
currentDataEntry[1]= RFQueue_getDataEntry (1);
RFQueue_nextEntry (1);
pPacket =¤tDataEntry[1]->data;
currentDataEntry[1]->length = pktLength;
pPacket[0]= Test_Times 和0x00ff;
pPacket[1]=(Test_Times 和0xFF00)>>8;
uint16_t i;
memset (pPacket+2、0xaa、pktLength-2);
//用于(I = 2;I < pktLength;I++)
//{
// pPacket[i]=rand ();
//}
rf_cmdTxHS.pQueue =&rfQueue[1];
rf_cmdTxHs.startTrigg.triggerType = trig_now;
RF_cmdNop.StartTime += RF_convertMsToRatTicks (100);
RF_EventMask 终止 Reason=RF_runCmd (rfHandle、(RF_Op*)&RF_cmdNop、RF_PriorityNormal、
null、RF_EventTxDone);//& RFCallback
// usleep (10000);
Test_Times -;
}
睡眠(1);
}
}