Part Number:LP-EM-CC2340R5Other Parts Discussed in Thread:SYSCONFIG
请问一下,怎么将mac地址后3字节添加到蓝牙名称中。我的添加是在App_StackInitDoneHandler中获取mac地址,然后覆盖scanResData1和attDeviceName对应数据,如下图,是可以更改,但是有时候扫描是sysconfig中配置的名称。比如,sysconfig中是abc001-xxxxxx,我想用mac替换xxxxxx,有时候扫描的是abc001-xxxxxx,请问,我应该怎么修改呢。
Yolande Wang:
您好,
如果是 abc001-xxxxxx,不确定 x 有多少个也不确定其内容,可以将字符串分割成 abc001 和 – 和 xxxxx三部分。
生成一个新的字符串,这个字符串由 abc001 和 – 和 mac address 三部分拼接形成,然后再用 App_StackInitDoneHandle 函数去覆盖掉。
,
Dongfu Lee:
你好,x有6个,对应mac地址的后3字节的ascii码,是可以覆盖的,但是,会出现偶尔扫描的时候出现的还是abc001-xxxxxx
,
Dongfu Lee:
请问一下,这个偶尔扫描出现的问题应该怎么解决,是不是我修改的地方不对,是在开启广播之前覆盖呢,还是说我在App_StackInitDoneHandle里修改后需要重启广播,我是基于basic_ble工程修改。
,
Yolande Wang:
有修改的话就尽量重启吧
,
Dongfu Lee:
那么请问一下,重启广播的api是哪一个呢
,
Yolande Wang:
没有专门用于重启广播的 API ,一般做法是先关闭再打开。
,
Dongfu Lee:
那怎么关闭和打开呢
,
Yolande Wang:
调用函数 BLEAppUtil_advStop() 和 BLEAppUtil_advStart(),可以参考一下例程:
,
Dongfu Lee:
好的,谢谢
,
Yolande Wang:
不客气
,
Dongfu Lee:
你好,app_peripheral.c是要定义HOST_CFG和PERIPHER_CFG的,基于basic_ble,这两个是怎么定义呢
,
Yolande Wang:
使用开启广播和关闭广播的 API 不需要额外定义 HOST_CFG 和 PERIPHER_CFG ,这些 API 由协议栈提供。