CC2640修改发射功率的问题
TI工程师你好:
CC2640 通过API修改发射功率时,修改为负值,但是用HCI_EXT_SetTxPowerCmd( TX_POWER_MINUS_3_DBM )时出现正负数问题,HCI_EXT_SetTxPowerCmd()的参数是无符号数,怎么解决呢?谢谢,或者还有别的什么办法修改发射功率吗?
你好,
没有太明白你的意思,1-5不是由你直接设置吗?
{ TX_POWER_0_DBM, GEN_TX_POWER_VAL( 0x21, 1, 0x31 ) },
{ TX_POWER_1_DBM, GEN_TX_POWER_VAL( 0x14, 0, 0x42 ) },
{ TX_POWER_2_DBM, GEN_TX_POWER_VAL( 0x18, 0, 0x4E ) },
{ TX_POWER_3_DBM, GEN_TX_POWER_VAL( 0x1C, 0, 0x5A ) },
{ TX_POWER_4_DBM, GEN_TX_POWER_VAL( 0x24, 0, 0x93 ) },
{ TX_POWER_5_DBM, GEN_TX_POWER_VAL( 0x30, 0, 0x93 ) } };
我理解的是配置发射功率为0以上的正数时没有问题,但是API接口原型的参数给的是无符号数,在配置发射功率为负值(比如-3dBm)时,参数传输会把负值强制转换为很大的正值了。这样再传递参数过程中不会出现问题么?
#define TX_POWER_5_DBM 5
#define TX_POWER_4_DBM 4
#define TX_POWER_3_DBM 3
#define TX_POWER_2_DBM 2
#define TX_POWER_1_DBM 1
#define TX_POWER_0_DBM 0
#define TX_POWER_MINUS_3_DBM -3
#define TX_POWER_MINUS_6_DBM -6
#define TX_POWER_MINUS_9_DBM -9
#define TX_POWER_MINUS_12_DBM -12
#define TX_POWER_MINUS_15_DBM -15
#define TX_POWER_MINUS_18_DBM -18
#define TX_POWER_MINUS_21_DBM -21