这里对CH582蓝牙芯片的一个参数进行讲解:GAPBOND_DISABLE_SINGLEBOND,描述是这样的:#define GAPBOND_DISABLE_SINGLEBOND 0x41A //!< Disable a single bonded device. Write only. Must provide address type followed by device address. 翻译之后就是:禁用单个绑定设备。仅写入。必须提供地址类型,后跟设备地址。
此参数的目的是禁用单个绑定设备,也就是主机从机进行绑定后,最终从机端对该绑定的设备不满意,不再与该主机建立连接,此时需要用到该参数进行处理。
首先需要知道主机端的地址类型,主从建立连接时从机端是可以获取到主机端的地址类型的,如图:
其次要获取到绑定的MAC地址,这里获取可以调用函数进行处理,下图是获取到3个绑定的信息,可以获取到1个就可以了:
将最终获取到的MAC地址类型和MAC地址组合形成一个新的buff,该buff总共是七个字节,最终调用该函数
GAPBondMgr_SetParameter(GAPBOND_DISABLE_SINGLEBOND, 7, &Buff[0]);
验证:
这里的Buf就是获取的地址类型和MAC地址的组合,共7个字节大小。
这里再进行连接发现是无法成功的,因为此时的从机端设置为必须先配对绑定才可进行连接,但是从机禁用了该MAC地址的绑定,所以一直无法成功连接。
标签:01,禁用,CH582peripheral,MAC,获取,地址,DISABLE,绑定 From: https://www.cnblogs.com/gscw/p/16790892.html