你好,
我想在数据包中的更多信息进行广告和扫描响应,而不是示例中所示。
任何一个例子都有一些更复杂的东西,我可以看看吗?
更具体地说,我试图获得表单的广告:
//间隙 - 广告数据(最大大小= 31字节,虽然这是
//最好在广告时保留短暂的节约能力)
#define广告_data_length 18.
UINT8 Advertising_data [广告_data_length] =
{
//标志;这将设备设置为使用有限的可发现
//模式(一次通告30秒)而不是一般
//可发现模式(无限制地广告)
0x02,//此数据的长度
gap_ad_type_flags,
gap_le_gen_discoverable_flg |gap_br_edr_not_supported,
//服务UUID,通知中央设备包含哪些服务
//在本外围设备中
0x11,//此数据的长度
gap_ad_type_more_128_bit_uuid,//一些uuid的,但不是全部
my_service_uuid,//相反的顺序
};
似乎当我尝试在gapm_start_advertise_cmd的数据包中使用多个pdu段时,我不会通过闪烁闪烁获得任何广告。
扫描响应数据也是如此。它似乎也差距_d_type_complete_name不起作用。
以下内容只有“尝试3”将允许我与闪烁的广告看广告。
//尝试1
//间隙 - 扫描RSP数据(最大尺寸= 31字节)
#define scan_response_data_length 25.
uint8 scan_response_data [scan_response_data_length] =
{
// 全名
0x0f,//此数据的长度
gap_ad_type_complete_name,
't',//'t'
'd',//'d'
'二'
's',//'s'
' - ',//' - '
'a',//'a'
'b',//'b'
'c',//'c'
'd',//'d'
'e',//'e'
'f',//'f'
'',
'',
'',
//连接间隔范围
0x05,//此数据的长度
gap_ad_type_slave_conn_int_range,
lo_uint16(default_desired_min_conn_interval),// 100ms
hi_uint16(default_desired_min_conn_interval),
lo_uint16(default_desired_max_conn_interval),// 1s
hi_uint16(default_desired_max_conn_interval),
// TX功率电平
0x02,//此数据的长度
gap_ad_type_transmit_power,
0,// 0dbm
};
//尝试2
#define scan_response_data_length 16.
uint8 scan_response_data [scan_response_data_length] =
{
// 全名
0x0f,//此数据的长度
gap_ad_type_complete_name,
't',//'t'
'd',//'d'
'二'
's',//'s'
' - ',//' - '
'a',//'a'
'b',//'b'
'c',//'c'
'd',//'d'
'e',//'e'
'f',//'f'
'',
'',
'',
};
//尝试3.
#define scan_response_data_length 3.
uint8 scan_response_data [scan_response_data_length] =
{
// TX功率电平
0x02,//此数据的长度
gap_ad_type_transmit_power,
0,// 0dbm
};
你能告诉我。是否有一个文档介绍如何更好地使用GAPM_START_ADVERTES_CMD,或者可能更深入地示例?
问候,
- 迈克

我解决了我的问题。我没有意识到分配广告的前三个字节的堆栈。