打印
[资料分享]

CC2541之设置发射功率

[复制链接]
893|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
drer|  楼主 | 2019-7-10 10:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
drer|  楼主 | 2019-7-10 10:15 | 只看该作者
基础知识

1、发射功率的范围

答:

1)CC2540支持4种发射功率:4dB、0dB(default)、-6dB、-23dB。

2)CC2541支持3种发射功率:0dB(default)、-6dB、-23dB。

使用特权

评论回复
板凳
drer|  楼主 | 2019-7-10 10:15 | 只看该作者
广播数据的末尾数据“0dB”是发射功率的设置吗?

答:

  // 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
};


不是,广播数据中的0dB只是发给主机看看而已的,并不起配置作用。但尽量填入与实际发射功率相匹配的数值。

使用特权

评论回复
地板
drer|  楼主 | 2019-7-10 10:15 | 只看该作者
实验步骤

1、测试代码(添加至工程的初始化代码中)

  //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);

使用特权

评论回复
5
drer|  楼主 | 2019-7-10 10:15 | 只看该作者
实验结果

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)



因此,实验成功。


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

60

主题

3315

帖子

4

粉丝