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.

[参考译文] CC1310:在 HSM 模式下接收到的最大长度是什么 CC1310? 在 HSM 模式下、cc1310发送数据包的最小间隔是多少?

Guru**** 2478765 points
Other Parts Discussed in Thread: CC1310

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1336222/cc1310-what-is-cc1310-s-recieve-maxlength-in-hsm-mode-and-what-is-cc1310-send-packet-min-interval-in-hsm-mode

器件型号:CC1310

1.将数据包发送间隔设置为小于10ms、  CC1310无法接收数据

2.将发送包长设置为大于3k、   cc1310无法接收到任何数据

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tian:

    请能否分享您使用过的 TX 和 RX 命令的参数。  RFC_CMD_HS_RX_t 和 RFC_CMD_HS_TX_t 的结构 。

     您是否使用了任何示例、或者它是否是您编写的定制应用?

    此致、

    SID

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    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 =&currentDataEntry[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 =&currentDataEntry[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);


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果我正确理解了代码、您将尝试在数据包长度字段中发送数据包长度、并希望在接收器上接收可变长度的数据包。

    您的 RX 代码中 MAX_LENGTH 的值是多少?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    I SET   MAX_LENGTH 为8k

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我将在星期一查看这件事,然后回到你的身边。 很抱歉耽误你的时间、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如有任何更新、请与我联系