【Silicon Labs BG22-EK4108A 蓝牙开发评测】三:蓝牙之SoC - Blinky代码函数与框架
[复制链接]
上一次评测了解了蓝牙协议的分层与主机主协议层说明,对蓝牙BLE之LED灯服务之读写有了认识,我们这次对例程即SoC - Blinky实例进行代码函数与框架进行说明
代码函数与框架的说明
我们打开SoC - Blinky工程,其机构如下图所示,包含内如下几个文件夹:
对这几个文件夹先介绍如下:
Autogen:自动构建驱动文件夹。
Config:配置文件夹:包含应为文件夹、硬件配置文件、平台配置文件、蓝牙协议栈文件。
App应用文件和主函数文件。
我们要注意,任何的商用的蓝牙协议栈都是不开源的,因此在EF32的蓝牙文件夹中的协议栈文件也只给出了明文的API函数,其具体的协议栈代码以库文件的形式加入在工程中,如下图所示:
因此,实现蓝牙的基本工程在于协议栈的API函数的调用。主函数的结构和一般的蓝牙应用类似,包含如下几个部分:
其中,我们主要探讨组件动作处理这个函数,打开这个函数,进去,有4个函数,只有第三个函数有内容,继续进入。
进入到SL_bt_on_event函数后,就可以停下来分析了,这个是这个蓝牙芯片运行的主要部分。包含了从机设备广播的发起,以及连接状态的判断。两个特性:LED灯读写和按键通知特性的应用。解释如下图所示:
实验现象:
实现了一个按键通知控制属性,一个LED灯读写的通知属性。
|