首页 资讯 应用 高压 设计 行业 低压 电路图 关于

嵌入式

旗下栏目: PLC 嵌入式 单片机 DCS

向蓝牙工程添加电池服务

嵌入式 | 发布时间:2017-11-26 | 人气: | #评论# | 本文关键字:蓝牙,电池,BLE工程
摘要:如何向BLE工程添加电池服务?下面就以官网的simpleBLEPeripheral工程为例,讲述添加电池服务的步骤。 1、打开SimpleBLEPeripheral工程,保证在工程左侧的HAL-Target-CC2540EB-Drivers工程组下已经添加了hal

如何向BLE工程添加电池服务?下面就以官网的simpleBLEPeripheral工程为例,讲述添加电池服务的步骤。

1、打开SimpleBLEPeripheral工程,保证在工程左侧的HAL-Target-CC2540EB-Drivers工程组下已经添加了hal_adc.c文件和HAL-Include工程组下已经添加了hal_adc.h文件。

向蓝牙工程添加电池服务向蓝牙工程添加电池服务

2、在工程组PROFILES下添加battservice.c与battservice.h两个文件。

向蓝牙工程添加电池服务

3、配置工程:菜单栏Project->Options,选择C/C++ Complier类别下的Preprocessor。

(1)Additional include directories下的编辑框添加下面两行:

$PROJ_DIR$\..\..\Profiles\Batt

$PROJ_DIR$\..\..\Profiles\HidDev

(2)Defined simbols下的编辑框添加:

HAL_ADC=TRUE

或则

打开hal_board_cfg.h文件,在365行处代码改成:

#ifndef HAL_ADC

#define HAL_ADC TRUE

#endif

向蓝牙工程添加电池服务

4、在simpleBLEPeripheral.c的头文件代码区添加电池服务的头文件。

#include "battservice.h"

5、在simpleBLEPeripheral.c中变量定义区增加一个电池默认临界值定义。

#define DEFAULT_BATT_CRITICAL_LEVEL  6

6、在simpleBLEPeripheral.c的SimpleBLEPeripheral_Init()函数中添加下面代码:

{   

  uint8 critical = DEFAULT_BATT_CRITICAL_LEVEL;

  Batt_SetParameter( BATT_PARAM_CRITICAL_LEVEL, sizeof (uint8 ), &critical );/* 设置默认临界电量 */

}

Batt_AddService();  /* 添加电池服务 */

Batt_Register(BattCB); /* 注册电池服务的应用回调函数 */

7、在simpleBLEPeripheral.c中添加BattCB()函数,函数的内容可以自定义。

static void BattCB(uint8 event)

{

  if (event == BATT_LEVEL_NOTI_ENABLED)

  {

    if (gapProfileState == GAPROLE_CONNECTED)

    {

       

    } 

  }

  else if (event == BATT_LEVEL_NOTI_DISABLED)

  {

      

  }

}

8、编译工程,编译无错后,下载到蓝牙设备中。

9、打开手机的蓝牙调试软件LightBlue,点击连接,可以看到电池的服务:

向蓝牙工程添加电池服务


责任编辑:蓝牙
首页 | 电气资讯 | 应用技术 | 高压电器 | 电气设计 | 行业应用 | 低压电器 | 电路图 | 关于我们 | 版权声明

Copyright 2017-2018 电气自动化网 版权所有 辽ICP备17010593号-1

电脑版 | 移动版 原创声明:本站大部分内容为原创,转载请注明电气自动化网转载;部分内容来源网络,如侵犯您的权益请发送邮件到[email protected]联系我们删除。