NRF52832学习笔记(1)—— 添加自有service(基于SDK15.3)

本文详细介绍了在nRF5 SDK版本15.3的PCA10040评估板上实现BLE Battery Service的过程,包括RAM空间分配、代码修改、服务初始化及电量模拟上报,适用于嵌入式蓝牙设备开发。

前言:

SDK版本15.3

评估板:pca10040

在uart的例程中添加battery service

添加之前,手机连上设备之后扫描到的service如下:

一、分配ram空间

softdevice的flash code是确定,但ram是不确定,和sevice的多少以及以下几个宏有关:

  • #define NRF_SDH_BLE_TOTAL_LINK_COUNT 1  //一共同时可以支持多少个连接,使用默认值即可
  • #define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 1  //作为从模式的连接同时能有几个,使用默认值即可
  • #define NRF_SDH_BLE_CENTRAL_LINK_COUNT 0  //作为主模式的连接同时能有几个,使用默认值即可
  • #define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247  // MTU 值的大小,使用默认值即可,nrf51 系列中 mtu 的默认值为23
  • #define NRF_SDH_BLE_VS_UUID_COUNT 1  //用户自定义的base UUID有几个,使用默认值即可,因为例程中的uart service 使用了一个的128bit的 uuid ,所以这是 count 值为1。因为此次实验添加的是自有 service ,所以 base uuid 只有uart service 一个。每添加一个 base uuid , count 值就+1,同时每增加一个uuid,IRAM1的起始地址就要增加0x10,size 同时减少0x10。

  • #define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1408  //Attribute table总共占多少协议栈RAM空间,该值必须是4的倍数。
  • #define NRF_SDH_BLE_SERVICE_CHANGED 0  //要不要包含service change characteristic,使用默认值即可

二、代码修改

2.1 添加文件

  • 添加service文件,文件路径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值