da1469x.
10个月前
张贴了普拉斯坦娜0分 4回复你好,
我正在尝试在广告有效载荷中包含128位服务UUID。我试图在adv_data中包含我为当地的其他广告元素所做的。请找到下面附带的代码。如果我尝试运行这个问题,我根本无法检测到外围设备。首先,我想知道这是在广告有效载荷中包含128位UUID的正确方法,还是我需要使用BLE_UUID.H中定义的函数。如果是这样,你能解释如何做到这一点(如果可能的话)。
代码
static const uint8_t adv_data [] = {
0x04,gap_data_type_short_local_name,
'p','a','c',
0x03,GAP_DATA_TYPE_MANUFAFFERR_SPEC,0,210,
0x02,GAP_DATA_TYPE_TX_POWER_LEVEL,3,
0x11,GAP_DATA_TYPE_UUID128_LIST,38,174,43,4,28,220,124,186,74,74,2,
189,7,77,231,35
};
提前致谢。
10个月前
亲爱的pm_dialog,
根据您所说的最大数据(31字节-3),我们仍有28个字节。在我的情况下,我使用了4字节的本地名称,3为制造商数据,2对于TX功率,17用于UUID,导致比允许的最大字节低26个字节。我不明白我如何超过最大有效载荷。
问候,
普拉斯坦娜
10个月前
嗨普拉斯坦娜
请阅读ble_gap_addata_set()上方的评论:
“......无要连接的可连接广告的最大广告数据长度为BLE_ADV_DATA_LEN_MAX字节(31减号3,保留为设置广告数据类型标志 - 这不得在使用此功能的广告数据中设置)... *
在您的情况下,广告数据超出了最大值,因此您也应该使用扫描响应数据。
您可以根据您的要求使用不同的UUID和制造商数据。
谢谢,PM_DIALOG.