您好!
我们使用两个不同版本的 TI-RTOS (V2.21和 v3.10)。
现在、我发现在运行时设置 TX 功率有问题。 设置 TX 功率后的第一个帧将使用新的 TX 功率发送。 但接下来的帧将使用旧的 TX 功率发送。
我使用以下函数打开射频驱动器:
m_RF_Handle = RF_open (&m_RF_object、&m_RF_prop、(RF_RadioSetup*)和 m_RF_cmd_prop_radio_div_setup、&RF_params);
在 m_rf_cmd_prop_radio_div_setup.txPower 中、默认的 TX 功率。 该函数在启动时调用一次。
在运行时、我使用以下函数设置 TX 功率:
*(((uint16_t *)&m_rf_cmd_set_tx_power.txPower)= power_TO_set;
rf_runImmediateCmd (m_rf_handle,(uint32_t*)&m_rf_cmd_set_tx_power);
但是、如上所述、新的 TX 功率将仅用于设置后的第一个帧。
仅当射频控制器同时断电时才会出现问题(如果射频控制器始终处于 RX 或 TX 模式、则新的 TX 功率也将用于后续帧。)
为了解决此问题、我使用以下函数(而不是上面的函数):
RF_TxPowerTable_Value 功率;
power.rawValue = power_TO_set;
power.__dummy = 0;
power.paType = RF_TxPowerTable_DefaultPA;
rf_setTxPower (m_rf_handle、power);
但 TI-RTOS V2.21中不提供此函数。
使用 RF_setTxPower()和 RF_runImmediateCmd ()有何区别?
RF_runImmedateCmd ()为何不存储新的 TX 功率?
谢谢、致以诚挚的问候
Heiko