CC2541的设置发射功率教程
时间:10-02
整理:3721RD
点击:
CC2541的设置发射功率教程
转自:897503845@qq.com:http://blog.csdn.net/feilusia/article/details/48546465 博主:甜甜的大香瓜
一、简介
本篇介绍CC2541的协议栈中如何设置发射功率。
二、实验平台
协议栈版本:BLE-CC254x-1.3.2
编译软件:IAR 8.20.2
三、发射功率的范围
CC2540支持4种发射功率:4dB、0dB(default)、-6dB、-23dB。
CC2541支持3种发射功率:0dB(default)、-6dB、-23dB。
四、使用举例
[cpp] view plain copy
void SimpleBLEPeripheral_Init( uint8 task_id )
{
simpleBLEPeripheral_TaskID = task_id;
//设置发射功率
HCI_EXT_SetTxPowerCmd (HCI_EXT_TX_POWER_4_DBM);
……
}
注:从机的广播数据中的0dB只是发给主机看看而已的
[cpp] view plain copy
// connection interval range
0x05, // length of this data
GAP_ADTYPE_SLAVE_CONN_INTERVAL_RANGE,
LO_UINT16( DEFAULT_DESIRED_MIN_CONN_INTERVAL ), // 100ms
HI_UINT16( DEFAULT_DESIRED_MIN_CONN_INTERVAL ),
LO_UINT16( DEFAULT_DESIRED_MAX_CONN_INTERVAL ), // 1s
HI_UINT16( DEFAULT_DESIRED_MAX_CONN_INTERVAL ),
// Tx power level
0x02, // length of this data
GAP_ADTYPE_POWER_LEVEL,
0 // 0dBm
五、测试
1、测试代码
用了以下代码分别进行了2540和2541的测试
[cpp] view plain copy
//hciStatus_t hci_status = 0x38;
//设置发射功率为4dB
//hci_status = HCI_EXT_SetTxPowerCmd (HCI_EXT_TX_POWER_4_DBM);
//设置发射功率为0dB
//hci_status = HCI_EXT_SetTxPowerCmd (HCI_EXT_TX_POWER_0_DBM);
//设置发射功率为-6dB
//hci_status = HCI_EXT_SetTxPowerCmd (LL_EXT_TX_POWER_MINUS_6_DBM);
//设置发射功率为-23dB
//hci_status = HCI_EXT_SetTxPowerCmd (LL_EXT_TX_POWER_MINUS_23_DBM);
//参数乱写
//hci_status = HCI_EXT_SetTxPowerCmd (1111);
2、测试结果
1)无论参数是多少,HCI_EXT_SetTxPowerCmd函数返回值都是0。(此处疑问,那返回值作何用?)
2)CC2541和CC2540的默认值确实是0dB。
3)当参数不正确时,发射功率不会被改变。
4)实验数据(通过手机看RSSI)
CC2540:
HCI_EXT_TX_POWER_4_DBM(-40dB)
HCI_EXT_TX_POWER_0_DBM(-44dB)——default
LL_EXT_TX_POWER_MINUS_6_DBM(-51dB)
LL_EXT_TX_POWER_MINUS_23_DBM(-67dB)
CC2541:
HCI_EXT_TX_POWER_0_DBM(-48dB)——default
LL_EXT_TX_POWER_MINUS_6_DBM(-54dB)
LL_EXT_TX_POWER_MINUS_23_DBM(-70dB)