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.

[参考译文] CC2652PSIP:RFC_CMD_BLE5_ADV_AUX_s 宽大处理无字节

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1518246/cc2652psip-rfc_cmd_ble5_adv_aux_s-no-byte-for-lenth

器件型号:CC2652PSIP

工具/软件:

尊敬的 BLE 专家:

您能为这个客户申请提供帮助吗?

我比较了 PHY 层上的两种无线技术 IEEE 15.4和 BLE。 为此、我还使用 CCS 示例 UART 桥接器并将这些数据包从发送器板发送到接收器板。

对于15.4 TX 命令(RFC_CMD_IEEE-TX_s)、发送的数据包有明确的字节(RF_cmdIeeettx.pPayload)和长度(RF_cmdIeeettx.payloadLen)、所有这些字节也都有效。

遗憾的是、借助 BLE 技术、我找不到 RFC_CMD_BLE5_ADV_AUX_s 命令长度的字节、SmartRF Studio 建议我发送数据包。

我使用 RF_cmdBle5AdvAux.pParams->pAdvPkt 来传递数据包

或者、我是否需要使用其他命令/字节来发送 BLE 数据包?

谢谢您、

Marinus

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

    嗨、Marinus

    请查看 rfDiagnostic 示例中的 radio.c 文件、了解如何发送和接收 BLE 数据包。

    查找标记为:

    //------------------------------------------------------------------------------
    // PhySettings_API_BLE + PhySettings_TEST_STUDIO_COMPL
    //------------------------------------------------------------------------------

    Siri

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

    感谢您的快速反馈@Siri

    这肯定会解释缺少的字节
    但仍有一个问题:在哪里或如何找到这样的 advPktInfo、我可以在其中描述缺少的字节?

    我在文献或配置文件中找不到此命令/指针?

    有什么建议吗?

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

    advPktInfo 的类型是 RFC_ble5ExtAdvEntry_t、它在  rf_ble_cmd.h 中定义

    struct __RFC_STRUCT rfc_ble5ExtAdvEntry_s {
       struct {
          uint8_t length:6;                 //!<        Extended header length
          uint8_t advMode:2;                //!< \brief Advertiser mode as defined in BLE:<br>
                                            //!<        0: Non-connectable, non-scannable<br>
                                            //!<        1: Connectable, non-scannable<br>
                                            //!<        2: Non-connectable, scannable<br>
                                            //!<        3: <i>Reserved</i>
       } extHdrInfo;
       uint8_t extHdrFlags;                 //!<        Extended header flags as defined in BLE
       struct {
          uint8_t bSkipAdvA:1;              //!< \brief 0: AdvA is present in extended payload if configured in
                                            //!<        <code>extHdrFlags</code><br>
                                            //!<        1: AdvA is inserted automatically from command structure if configured in
                                            //!<        <code>extHdrFlags</code> and is omitted from extended header
          uint8_t bSkipTargetA:1;           //!< \brief 0: TargetA is present in extended payload if configured in
                                            //!<        <code>extHdrFlags</code>. For response messages, the value is replaced
                                            //!<        by the received address when sending<br>
                                            //!<        1: TargetA is inserted automatically from command structure or received
                                            //!<        address if configured in <code>extHdrFlags</code> and is omitted from
                                            //!<        extended header. Not supported with CMD_BLE5_ADV_EXT.
          uint8_t deviceAddrType:1;         //!< \brief If <code>bSkipAdvA</code> = 0: The type of the device address in extended
                                            //!<        header buffer -- public (0) or random (1)
          uint8_t targetAddrType:1;         //!< \brief If <code>bSkipAdvA</code> = 0: The type of the target address in extended
                                            //!<        header buffer -- public (0) or random (1)
       } extHdrConfig;
       uint8_t advDataLen;                  //!<        Size of payload buffer
       uint8_t* pExtHeader;                 //!< \brief Pointer to buffer containing extended header. If no fields except extended
                                            //!<        header flags, automatic advertiser address, or automatic target address are
                                            //!<        present, pointer may be NULL.
       uint8_t* pAdvData;                   //!< \brief Pointer to buffer containing advData. If <code>advDataLen</code> = 0,
                                            //!<        pointer may be NULL.
    } __RFC_STRUCT_ATTR;

    另请参阅 表25-123。 TRM 中的通用扩展数据包条目格式(https://www.ti.com/lit/swcu185)

    Siri