Nordic 52832 —— Advertising广播部分总结

写在前面:本文将针对 广播部分做一个不太完备总结,个人QQ:993650814,有问题欢迎骚扰并及时补充。

步入正文:

1、蓝牙Name 的设置:

    广播名字的模式分为三种:full name、short name 、no name

  

full name和no name 没啥可说的,short name设置的时候这里需要注意一点,如果广播的name为short的话还需将name的长度一并指出:


2、 appearance  设置

    外观特性指示设备是普通手机,手环或者平板电脑之类的,通过调用协议栈函数 sd_ble_gap_appearance_get来设置,这个函数的参数在ble_types.h文件中


3、广播flag的设置:

    flag用来指示BLE设备物理连接的功能,因为大多数BLE都是单模的,所以一般都不支持BR、EDR,所以这里设置的时候就两种有限可发现模式(BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE)和一般可发现模式(BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE)。这两者的区别是,有限可发现模式有时间的限制,一般是30s;一般可发现模式没有时间的限制。

     基于此,那么如何让设备一直处于广播状态呢?需要做两步设置:

    (1)、广播flag 设置为一般可发现模式:

     advdata.flags = BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE;

    ( 2 )、 将持续广播时间设置为无穷大:

    init.config.ble_adv_fast_timeout  = APP_ADV_TIMEOUT_IN_SECONDS;

    #define APP_ADV_TIMEOUT_IN_SECONDS      0    //这里设置成0,就是一直在广播

4、UUID的设置

    这里不解释了。

5、广播模式的设置:

    

广播分如下类型:Direct模式、Fast 模式、Slow模式、Idle模式。


6、广播数据的设置:



7、扫描回应数据的设置

如果要广播的数据太长超过31个Bytes,可用配置扫描回应数据,具体如下:



暂时先更新到这里,如果后期想起来别的,会继续添加。


猜你喜欢

转载自blog.csdn.net/weixin_40204595/article/details/80664511