【Silicon Labs BG22-EK4108A 蓝牙开发评测】二:新建工程并通过手机控制及日志打印
[复制链接]
本帖最后由 忆作音符 于 2022-1-24 13:00 编辑
1.前言
在第一篇帖子里,我们描述了搭建BLE环境的过程及通过官方提供的Demo直接烧录进开发板里然后手机连接上蓝牙热点的过程,这样给我们继续学习下去带来了很大的兴趣及信心。本篇我们讲述手动创建一个工程并编译烧录,然后手机连接,并通过手机控制开发板上LED指示灯的亮灭,同时打印出这个过程中的串口日志,以便快速熟悉SDK应用层内部通信机制及流程。其实官方提供的Demo Blink已具备这个功能,但是我们还是从头自己来创建一个工程,熟悉这个过程,另外程序运行起来需要bootloader,不然单烧录这个应用是跑不起来的,后续我在讲下怎么修改不要bootloder。
2.创建工程、编译并烧录
2.1.创建工程
创建工程时,如果你有开发板就在Debug Adapters里选中你的芯片,在下载好SDK的基础上右侧就会出现对应的开发板及芯片基本信息及文档,此时点击Create New Project就开始建工程,如果你没有开发板如我下图所示在My products里添加你手上的芯片,然后选中芯片,右侧也会出现对于芯片信息及文档,点击Create New Project就开始建工程了。在Examples里选择Bluetooth-SOC Empty后next。
创建好后到IDE界面如下图所示
然后我们就开始了在soc_empty.slcp 图形化文件里快速配置串口及LED IO口
1.
2.
3.串口IO及波特率等参数配置
4.如果你不是开发板需要将画圈的两个地方选为None,即不要流控
5.安装LOG驱动,里面有日志打印等级设置及前缀设置,提供多样化日志,可自己根据需要设置
6.安装LED驱动并配置IO口,
,
7.
8.开始配置IO口及极性
9.
10.添加Automation service
11.对gatt_configuration.btconf进行修改和配置
1.选中用户 BLE GATT
2.用于新增自定义的Service以及Characteristic
3.用于导入其它工程的GATT
4.用于新增标准的GATT
5.删除选中的某个Service或者Characteristic
6.我们可以复制工程目录下的config->btconf->gatt_configuration.btconf文件,便于其它工程的导入
12.目前我们使用自定义添加一个控制板子LED的Service,重点部分如我截图中圈的
接下来就是回到我们的工程中添加部分代码用来处理接受到数据后控制LED的亮灭,同时看串口信息 。
主要在APP.c中修改,我贴出与未修改过的原始工程对比,代码修改参考Blink工程。
之后就是编译下载,然后通过Launch Console连接我们的开发板,打开手机APP EFR connect连接到我们的蓝牙热点,并在其中看到有一个Unknown service,这就是我们自定义的,所以他显示未知,在里面操作Write1和0能看到我们的开发板上LED灯分别亮和灭,同时在Launch Console连接后界面看到串口打印消息,如下
你也可以添加其他日志信息供你尽快熟悉SDK。
|