【Silicon Labs BG22-EK4108A 蓝牙开发评测】三、蓝牙协议测试之APP点灯和按键检测
[复制链接]
1.使用蓝牙协议测试之APP点灯和按键检测,采用官方提供的Demo总是在仿真的时候跑飞,也是好不容易才解决了问题跑起来,第一步新建工程,选择BlueTooth,再选择项目为BlueToo Soc Blinky,如下图所示:
2.点击Next,设置工程名字和存放路径,点击Next完成工程 创建完毕,点击锤子标记,开始编译,编译完成后如下图所示。
3.编译完成后,点击属性开始配置环境如下图所示。
4、然后将代码烧录到开发板中,在装上APP后,打开手机蓝牙,再打开APP,选择Demo-Blinky,选择Blinky Sample蓝牙设置后,点击指示灯开,如下图所示:
5.APP上的灯点亮后,就可以看到开发板上的指示灯亮了,如下图所示,点击关闭就关闭指示灯。
6、这时按下开发板上的按钮,可以看到APP上的按钮改变颜色。如下图所示。
7、如上所示就完成了点灯和按键检测的测试了。那么在代码中是如何实现的呢?下面我们将层层解读代码实现。打开源代码中的Main.c文件,就可以
看到main函数如下图所示,分为硬件及驱动初始化,APP初始化,蓝牙接收事件处理和蓝牙发送数据事件处理接口。
8、由于其它初始化代码前面测试已经讲解,这次主要讲一下蓝牙协议的接口,蓝牙协议初始化接口如下所示,可以看到蓝牙配置,协议初始化和Class初始化。
9、初始化完成后,蓝牙接收事件的处理函数如下,执行当前蓝牙接收事件处理函数,读取事件数据长度,依此进行是否发生接收事件,当发生后读取接收数据,于对数据进行处理。
10、蓝牙发送处理函数如下,先检测按钮是否发生改变,当发生改变后,将发生事件写入GATT库,当待发送事件处理完成后,再将发有事件信息通过蓝牙发送出去。
10、通过9和10的处理,就可以看到我们实现蓝牙点灯和按钮事件发生了。
|