6、CC2541修改按键调节广播发送功率例程为持续发送4DB的蓝牙基站


 

一、目的

在 OSAL操作系统-实验31 从机广播功率修改-(20141029更新).zip 基础上进行修改,该工程是通过5向按键的上下按键来控制广播功率的加减,总共有4个档位。我们的目的是直接用最高功率进行广播。

 

二、涉及文件

下面几个文件是每个CC2541工程的主要文件(基本的修改都会在此):

6、CC2541修改按键调节广播发送功率例程为持续发送4DB的蓝牙基站

其中:

  • xxx_Main.c只有main函数,
  • OSAL_SimpleBLEPeripheral.c中只有任务初始化函数,
  • simpleBLEPeripheral.c才是重点

  6、CC2541修改按键调节广播发送功率例程为持续发送4DB的蓝牙基站

 

三、如何修改

整个工程是采用默认发射功率,然后通过有向按键控制gTxPower大小并通过HCI_EXT_SetTxPowerCmd(gTxPower);重新设置发射功率大小:

6、CC2541修改按键调节广播发送功率例程为持续发送4DB的蓝牙基站
 1 if ( keys & HAL_KEY_UP )
 2 {  
 3     HalLcdWriteString( "HAL_KEY_UP", HAL_LCD_LINE_5 );
 4 
 5     /*
 6     #define LL_EXT_TX_POWER_MINUS_23_DBM                   0 // -23dbm  功率 最小
 7     #define LL_EXT_TX_POWER_MINUS_6_DBM                    1 // -6dbm   
 8     #define LL_EXT_TX_POWER_0_DBM                          2  // 0dbm   
 9     #define LL_EXT_TX_POWER_4_DBM                          3  // +dbm  功率 最大 
10     */
11     if(gTxPower < LL_EXT_TX_POWER_4_DBM)
12     {
13         gTxPower++;   //功率提高一档
14         HCI_EXT_SetTxPowerCmd(gTxPower);
15 
16         HalLcdWriteStringValue( "TxPower: ", gTxPower, 10, HAL_LCD_LINE_7 );
17     }
18 }
6、CC2541修改按键调节广播发送功率例程为持续发送4DB的蓝牙基站

因此,我们只要在GAPROLE_ADVERTISING事件下调用HCI_EXT_SetTxPowerCmd(gTxPower);将默认广播发送功率设置为4db即可(同时也要设置默认广播发送功率为4db:uint8 gTxPower = LL_EXT_TX_POWER_4_DBM;)!

6、CC2541修改按键调节广播发送功率例程为持续发送4DB的蓝牙基站
1 case GAPROLE_CONNECTED:
2 {
3     #if (defined HAL_LCD) && (HAL_LCD == TRUE)
4     HalLcdWriteString( "Connected",  HAL_LCD_LINE_3 );
5     HCI_EXT_SetTxPowerCmd(gTxPower);
6     #endif // (defined HAL_LCD) && (HAL_LCD == TRUE)
7 }
8 break;
6、CC2541修改按键调节广播发送功率例程为持续发送4DB的蓝牙基站

 

修改后simpleBLEPeripheral.c为:

6、CC2541修改按键调节广播发送功率例程为持续发送4DB的蓝牙基站 View Code

>>更好的方式应该是寻找默认广播发送功率的原始设置方式

 

相关链接:

2、利用蓝牙定位及姿态识别实现一个智能篮球场套件(二)——CC2540/CC2541基于广播的RSSI获得
1、利用蓝牙定位及姿态识别实现一个智能篮球场套件(一)——用重写CC2541透传模块做成智能手环
5、CC2541芯片中级教程-OSAL操作系统(PWM+看门狗)
4、CC2541芯片中级教程-OSAL操作系统(简单AT指令实现+IIC软件和硬件实现驱动MPU6050)
3、CC2541芯片中级教程-OSAL操作系统(ADC光敏电阻和修改串口波特率)
2、CC2541芯片中级教程-OSAL操作系统(进一步了解-OLED && 普通按键和5方向按键-中断!!!)这个系统驱动层和应用层不一样~
1、CC2541蓝牙4.0芯片中级教程——基于OSAL操作系统的运行流程了解+定时器和串口例程了解


本文转自beautifulzzzz博客园博客,原文链接:http://www.cnblogs.com/zjutlitao/p/6661908.html,如需转载请自行联系原作者

上一篇:OSPF中LSA主要的5种类型--CCNP学习笔记


下一篇:JNI:需要显式指定使用jar的全路径