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.

[参考译文] CC2674P10:下载的 SDK 无相关例程、无法配置2440 MHz 频率

Guru**** 2526700 points
Other Parts Discussed in Thread: CC1354P10, CC2674P10, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1272129/cc2674p10-the-downloaded-sdk-has-no-associated-routines-and-the-2440-mhz-frequency-cannot-be-configured

器件型号:CC2674P10
主题中讨论的其他器件:CC1354P10SysConfig

团队成员

客户已根据迁移手册完成了 CC1354P10到 CC2674P10的迁移、现在遇到以下问题:
当我迁移过去时、在我的 syscfg 文件中只有 BLE 和 IEEE 802可供定制选择

我已在 Smart RF 7上验证了在使用 BLE 时可以正确通信、但是当我在项目中将其设置为 BLE 时、我发现需要修改例程中的某些初始化、其中一些结构参数是不同的。 所以、我将在我的最后一个响应中给出一点点。 当我注释掉旧参数并将其修改为新参数时、我的接收模块可以触发回调函数、但事件 e 的参数值为2、它与接收完成不匹配。

现在需要的权变措施是、在 syscfg 文件中将"Custom"修改为 BLE 1Mbps Le 1M 之后、是否可以找到射频的通信例程或初始化参考。

基本上、现在我要有一个例程告诉我在下面这张图片中要做什么  

因为现在的问题是、我在 syscfg 中将射频更改为 BLE、然后这些配置参数的结构发生了变化、因此我不知道如何初始化参数以便进行正确通信、就像回调函数一样。 当我的 Rx 项目已经从 TX 接收到数据、但我无法匹配 RF_EventRxEntryDone、或者它中的函数现在无法在屏幕截图中使用。  

综上所述、我现在遇到的问题是、我已将该项目转换为 CC2674P10项目、现在我需要一个 BLE 定制例程。 其中包括 Tx、Rx 的初始化参数配置、以及回调函数如何获取射频数据。  

更改为 BLE 后、初始化函数的结构会发生变化、例如在 Tx 项目中、我的原始结构包括发送的字节数和传输数据包的地址。 但在修改后、只发送数据包的地址、而没有字节数、这意味着我没有要分析的参考资料。 初始化阶段或紧随其后的回调函数是否有问题  

SDK:simplelink_cc13xx_cc26xx_sdk_7_10_01_24

SYS:1.16.2

此致

亚历克斯

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

    尊敬的 Alex:

    我要感谢  为 我提供完成您所需功能的说明:

    以 rfPacketRX 的 rfPacketTX 示例为起点、并执行相关步骤以将其移植到正确的器件。

    使用您想要使用的 BLE 设置来编译项目(无法编译、因为您使用的是 BLE 设置并且示例使用 prop 命令、但这无关紧要)。

    使用 SysConfig 生成的 ti_nRADIO_CONFIG.c/h、手动将其添加到工程中、然后将其从 SysConfig 中排除。

    以 SmartRF Studio 为例、并打开相应示例。 使用使用常规 RX 和 TX 命令(不是高级)和

    • 将所需的命令(CMD_PROP_TX 和 CMD_PROP_RX)复制到 ti_radio_config.c/h 中
    • 重命名 CMD_FS
    • 更改示例中请求对讲机访问权限的方式:

    /* Request access to the radio */
    rfHandle = RF_open(&rfObject, &RF_prop_bt5le1m_0, (RF_RadioSetup*)&RF_cmdBle5RadioSetup_bt5le1mp10_1, &rfParams);
    // CMD_PROP_TX
    // Proprietary Mode Transmit Command
    rfc_CMD_PROP_TX_t RF_cmdPropTx =
    {
        .commandNo = 0x3801,
        .status = 0x0000,
        .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
        .startTime = 0x00000000,
        .startTrigger.triggerType = 0x0,
        .startTrigger.bEnaCmd = 0x0,
        .startTrigger.triggerNo = 0x0,
        .startTrigger.pastTrig = 0x0,
        .condition.rule = 0x1,
        .condition.nSkip = 0x0,
        .pktConf.bFsOff = 0x0,
        .pktConf.bUseCrc = 0x1,
        .pktConf.bVarLen = 0x1,
        .pktLen = 0x14,
        .syncWord = 0x930B51DE,
        .pPkt = 0 // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
    };
    
    
    // CMD_PROP_RX
    // Proprietary Mode Receive Command
    rfc_CMD_PROP_RX_t RF_cmdPropRx =
    {
        .commandNo = 0x3802,
        .status = 0x0000,
        .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
        .startTime = 0x00000000,
        .startTrigger.triggerType = 0x0,
        .startTrigger.bEnaCmd = 0x0,
        .startTrigger.triggerNo = 0x0,
        .startTrigger.pastTrig = 0x0,
        .condition.rule = 0x1,
        .condition.nSkip = 0x0,
        .pktConf.bFsOff = 0x0,
        .pktConf.bRepeatOk = 0x0,
        .pktConf.bRepeatNok = 0x0,
        .pktConf.bUseCrc = 0x1,
        .pktConf.bVarLen = 0x1,
        .pktConf.bChkAddress = 0x0,
        .pktConf.endType = 0x0,
        .pktConf.filterOp = 0x0,
        .rxConf.bAutoFlushIgnored = 0x0,
        .rxConf.bAutoFlushCrcErr = 0x0,
        .rxConf.bIncludeHdr = 0x1,
        .rxConf.bIncludeCrc = 0x0,
        .rxConf.bAppendRssi = 0x0,
        .rxConf.bAppendTimestamp = 0x0,
        .rxConf.bAppendStatus = 0x1,
        .syncWord = 0x930B51DE,
        .maxPktLen = 0xFF,
        .address0 = 0xAA,
        .address1 = 0xBB,
        .endTrigger.triggerType = 0x1,
        .endTrigger.bEnaCmd = 0x0,
        .endTrigger.triggerNo = 0x0,
        .endTrigger.pastTrig = 0x0,
        .endTime = 0x00000000,
        .pQueue = 0, // INSERT APPLICABLE POINTER: (dataQueue_t*)&xxx
        .pOutput = 0 // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
    };
    // CMD_FS
    // Frequency Synthesizer Programming Command
    rfc_CMD_FS_t RF_cmdFs =
    {
        .commandNo = 0x0803,
        .status = 0x0000,
        .pNextOp = 0,
        .startTime = 0x00000000,
        .startTrigger.triggerType = 0x0,
        .startTrigger.bEnaCmd = 0x0,
        .startTrigger.triggerNo = 0x0,
        .startTrigger.pastTrig = 0x0,
        .condition.rule = 0x1,
        .condition.nSkip = 0x0,
        .frequency = 0x0988,
        .fractFreq = 0x0000,
        .synthConf.bTxMode = 0x0,
        .synthConf.refFreq = 0x0,
        .__dummy0 = 0x00,
        .__dummy1 = 0x00,
        .__dummy2 = 0x00,
        .__dummy3 = 0x0000
    };
    
    #ifndef _TI_RADIO_CONFIG_H_
    #define _TI_RADIO_CONFIG_H_
    
    #include <ti/devices/DeviceFamily.h>
    #include DeviceFamily_constructPath(driverlib/rf_mailbox.h)
    #include DeviceFamily_constructPath(driverlib/rf_common_cmd.h)
    #include DeviceFamily_constructPath(driverlib/rf_ble_cmd.h)
    #include DeviceFamily_constructPath(driverlib/rf_prop_cmd.h)
    #include <ti/drivers/rf/RF.h>
    
    // TI-RTOS RF Mode object
    extern RF_Mode RF_prop_bt5le1m_0;
    
    // RF Core API commands
    extern rfc_CMD_BLE5_RADIO_SETUP_t RF_cmdBle5RadioSetup_bt5le1m_0;
    extern rfc_CMD_FS_t RF_cmdFs;
    extern rfc_CMD_BLE5_ADV_AUX_t RF_cmdBle5AdvAux_bt5le1m_0;
    extern rfc_CMD_BLE5_GENERIC_RX_t RF_cmdBle5GenericRx_bt5le1m_0;
    extern rfc_CMD_PROP_TX_t RF_cmdPropTx;
    extern rfc_CMD_PROP_RX_t RF_cmdPropRx;
    
    // RF Core API overrides
    extern uint32_t pOverrides_bt5le1m_0Common[];
    extern uint32_t pOverrides_bt5le1m_01Mbps[];
    extern uint32_t pOverrides_bt5le1m_02Mbps[];
    extern uint32_t pOverrides_bt5le1m_0Coded[];
    
    #endif // _TI_RADIO_CONFIG_H_
    

    我成功 使用了 CC1345P10-6 rfPacketTx 项目向定制 CC2674P10 LaunchPad rfPacketRx 项目发送 BLE 射频数据包。

    此致、
    瑞安

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

    有没有理解到当 RF 被打开时、BLE 模式被选择、即 RF_OPEN ()这个 API 选择 RF_cmdBle5RadioSetup_Bt5le1mp10_1、同时 RF_prop 被 RF_prop_Bt5le1M_0取代。 只有以下 Tx、Rx 模式不会选择 RF_cmdBle5AdvAux_Bt5le1M_0和 RF_cmdBle5GenericRx_Bt5le1M_0这两个结构、而是选择

    RF_cmdPropTx 还具有 RF_cmdPropRx 结构

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

    我正在使用您现在提供的方法、Rx 可以从 Tx 接收消息、但现在我有一个问题、即我必须在回调中再次发布 Rx。 以触发回调函数、否则将仅在首次触发时触发。 这是什么原因呢?  

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

    我在使用 RF_runCmd 时没有观察到类似的行为、我建议您查看 无线电软件包(rflib) API 中所述的射频驱动器命令差异

    此致、
    瑞安