【Telink-泰凌微电子 B91通用开发套件】⑤BLE广播、连接
泰凌微电子
1564 人阅读
|
0 人回复
|
2022-10-30
TA的每日心情 | 开心 2024-4-25 10:04 |
|---|
签到天数: 4 天 连续签到: 1 天 [LV.2]偶尔看看I
进士
- 积分
- 1112
|
之前我们成功点灯,但是这是一块BLE的开发板,所以BLE部分是必不可少的,今天的目标是实现BLE slave 的广播,然后用手机连他。
我们先打开之前下载的“Bluetooth® Dual Mode Controller”SDK,导入IDE(步骤省略,之前点灯时写过了,这一步省略)。
奇怪了,这个SDK怎么只有一个工程项目可以编译?正常来说应该至少会有2的demo,一个master一个slave。
那再看看指导手册吧
仔细一看,好家伙,这玩意儿压根就不是用来入门BEL的,而是一个BT/BLE双模controller的SDK,和我想要的SDK不是同一个东西(我已经偷偷烧录试过了,也看了一下代码,确实不是我想要的Demo)
那就出问题了呀,这个怎么会不陪对应的BLE的SDK呢?这让人怎么上手呢?最后,在TLSR921x的页面中找到了可用的SDK,Telink你这资料管理的方式我表示很迷,让我一顿好找。。。。。
http://wiki.telink-semi.cn/wiki/chip-series/TLSR921x-Series/
别看它是TLSR921x的SDK,951X也是可以用的,因为我看到了指导手册上的名字时,我就确信他肯定可以在951X上跑起来
B91,这不就是我们开发板的名字嘛,所以他肯定是适用的,至于为什么放在921X下面,就得去问问Telink了,怎么的也得在951X下面也放一个这个链接啊
导入IDE,看一下有哪些Demo
这个就正常了,有三个Demo,再看一下指导手册,看看这三个Demo分别实现了什么功能
基于今天的目标,那我就选择B91_ble_sample吧,他刚好适合我得目标
编译、烧录、复位芯片
马上拿手机看一下有没有找到BLE广播
比平时扫描多了一个eSample,应该就是是B91发出的广播信号,我再去看一下代码,确认一下是不是这个名字
来到app.c中的user_init_normal()函数中,这个函数会在main.c中调用,从名字就可以看出,它是正常启动时的初始化函数
进去后找到设置广播数据的函数和设置扫描回文的函数,看看设置的数据是什么
在扫描回文数据中我找了广播的名,那就说明我刚才扫描到的就是B91发出的广播
这里额外补充一个知识点,BLE广播包格式如下图所示
一个广播包由有效数据(significant)和无效数据(non-significant)组成。
有效数据由多个广播数据单元(AD Structure)组成,就是上图的两个数据,他们就是广播包中的有效数据。
一个广播数据单元就是上图数组中的一行数据,第一字节就是Len,其值表示Data部分数据的长度。Data又由AD Type和AD Data组成。
通过查AD Type表得知,“设备简称: TYPE = 0x09”,那么demo就是把设备的简称放在扫描回文数据中
接下来我们尝试连接一下
成功连接,今日目标达成!
*********************本篇完*******************************
|
|
|
|
|
|
|
|
|