ble_app_uart整体代码架构

一、前提条件

1:软件:基于sdk14.2.0
2:硬件:nrf52832

二、整体代码框架

以下是官方协议栈的整体框
ble_app_uart整体代码架构

三、具体介绍以下几个部分

因为nordic的官方sdk两部分:官方封装的协议栈 和应用程序,官方封装的是看不到的,

3.1 介绍ble_stack_init的内容

ble_app_uart整体代码架构

3.1.1 在nrf_sdh_enable_request()函数里面,会看到

注意点:在这块我们往往要去根据板子来配置时钟的,如果没有外部晶振,代码配置外部晶振的话,程序将会跑不起来
ble_app_uart整体代码架构

3.1.2 nrf_sdh_ble_default_cfg_set设置ble参数

ble_app_uart整体代码架构连接后服务参数的设置
ble_app_uart整体代码架构

3.1.3 nrf_sdh_ble_enable

在这里主要是ram的大小设置,可以直接在这里获得,然后在keil里面进行设置
ble_app_uart整体代码架构

###3.2 services_init 服务
这部分主要是连接上后,通信部分,作用:进行主服务uuid的初始化、次服务uuid,att的初始化,以及连接上后如何获得数据,

ble_app_uart整体代码架构

ble_app_uart整体代码架构
连接上后,数据通信信部分
ble_app_uart整体代码架构

###3.4 广播部分
广播数据的初始化
ble_app_uart整体代码架构
uint32_t ble_advertising_star 广播的开始
ble_app_uart整体代码架构