你好,Ti
我使用的 simplelink_cc13x2_26x2_sdk_4_20_00_35 SDK
我通过SmartRF Studio 7 工具,导出BLE发送BT4 数据包的开关功放的配置文件。
但是我发现,当我使用开功放去发送数据包后,再去配置关功放发送数据包,使用频谱仪查看关功放去发送的数据包,射频没有任何数据发出。
但我再次切换到开功放的配置去发送数据包,数据能发送出来。
并且,在重启后第一次配置使用关功放的参数去发送数据包,射频能发送出数据,一旦切换到开功放发送数据包以后,再切换到关功放,就再也不能发送关功放的数据了。
void ble_nc_adv_tx(void) { RF_Object rfObject; RF_Handle rfHandle; uint8_t chan = 17; RF_Params rfParams; RF_CmdHandle rxCmdHndl; RF_Params_init(&rfParams); if(ble_pa_ctrl == 0) { rfHandle = RF_open(&rfObject, &RF_prop, (RF_RadioSetup*)&RF_cmdBle5RadioSetup, &rfParams); } else { rfHandle = RF_open(&rfObject, &RF_prop, (RF_RadioSetup*)&RF_cmdBle5RadioSetup_PA, &rfParams); } rxCmdHndl = RF_postCmd(rfHandle, (RF_Op*)&RF_cmdFs, RF_PriorityNormal, NULL, 0); RF_runCmd(rfHandle, (RF_Op*)&RF_cmdBleAdvNc,RF_PriorityNormal, NULL, 0); (void)RF_cancelCmd(rfHandle, rxCmdHndl, 0);//ABORT_ABRUPT // (void)RF_pendCmd(rfHandle, rxCmdHndl, 0); RF_close(rfHandle); }
上面的代码每次发送一次数据包后,即Close掉。一旦ble_pa_ctrl 配置为1后调用次此函数,再配置ble_pa_ctrl为0 调用次函数,射频将发送不出数据