TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2652R: 寻找 .rfMode = RF_MODE_PROPRIETARY_2_4, 1M 2M 通讯速率例程

Part Number:CC2652R

最近在使用代码工程,测试 cc2652R1 RF 在私有模式 1M 2M  通讯速率。了解到需要使用 HS API, 可测试一直没有成功。

曾经尝试使用 E2E 网站推荐方法,

e2e.ti.com/…/cc2640r2f-rfpackettx-with-2m-phy-rf_mode_ble-how-to-increase-payload-size

在2640R2 Development Kit 板上实验,未成功。

实验方法如下:

1. SmartRF Studio 选择 BLE 2M 速率生成 .c / .h 文件。

2. 完整 copy 前述网站文件。命名为 rfPacketTx.c .

3. 添加 HS API 头文件。

#include DeviceFamily_constructPath(driverlib/rf_hs_mailbox.h)
#include DeviceFamily_constructPath(driverlib/rf_hs_cmd.h)

4. build / load  / Run

发现问题, RF_runCmd  函数运行时异常,代码不能正常运行。

后尝试手工修改  .rfMode = RF_MODE_PROPRIETARY_2_4, 

再次运行,RF_runCmd 发送数据包函数能执行完,返回值是2 — RF_EventLastCmdDone
但是 HS 的 cmdStatus 状态错误 0x3800

还请支持!

guo Leeson:

问题补充:

第一次编译是报错,没有 RF_cmdTxHS 数据结构。之后手工造了一个 RF_cmdTxHS,内容如下。也不知道构造的对不对 ?// CMD_HS_TX//! High-Speed Transmit Commandrfc_CMD_HS_TX_t RF_cmdTxHS ={ .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, // Leeson annotate //.pktLen = 0x1e, // SET APPLICATION PAYLOAD LENGTH //.syncWord = 0xD391D391, //.pPkt = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx // Leeson add .pQueue = 0, // INSERT APPLICABLE POINTER: (dataQueue_t*)&xxx};

,

Kevin Qiu1:

专有模式BLE没有例程,可以参考例程drivers\rfPacketErrorRate

关于RF可以参考https://dev.ti.com/tirex/content/simplelink_cc13x2_26x2_sdk_5_20_00_52/docs/rflib/html/index.html

赞(0)
未经允许不得转载:TI中文支持网 » CC2652R: 寻找 .rfMode = RF_MODE_PROPRIETARY_2_4, 1M 2M 通讯速率例程
分享到: 更多 (0)