STM32WB55扫描广播包数据

这段代码主要展示了如何设置蓝牙设备的扫描响应数据,并启动快速或低功耗广播。它包含了制造商特定的数据、设备地址、功能代码、固件版本、电池电量等关键信息。在设置完成后,会通过打印消息来确认操作是否成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/* Update Scan data /
{
uint8_t scan_data[31] =
{
0x14, /len 1/
AD_TYPE_MANUFACTURER_SPECIFIC_DATA,/type 1/
0x7e, 0xff, /manuf id 2/
/
The following are your payload */
0x05, 0x01, /type code 2/
0x01, 0x00, /fun code 2/
0x10, 0x0a, /fw ver 2/
0x01, 0x22, /battery 2/
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,/mac 6/
0x00, /enroll flag 1/
0x32, /protocol ver 1/
0x01, /trigg reason 1/
};

	const uint8_t *bd_addr = BleGetBdAddress();
	/* set mac addr big endian */
	scan_data[12] = bd_addr[5];
	scan_data[13] = bd_addr[4];
	scan_data[14] = bd_addr[3];
	scan_data[15] = bd_addr[2];
	scan_data[16] = bd_addr[1];
	scan_data[17] = bd_addr[0];
	ret = hci_le_set_scan_response_data(scan_data[0]+1, scan_data);
	if(BLE_STATUS_SUCCESS == ret)
	{
		printf("set scan data ok \r\n");
	}
	else
	{
		printf("set scan data fail \r\n");
	}
}
/* Start Fast or Low Power Advertising */
ret = aci_gap_set_discoverable(
    ADV_IND,/*普通可链接广播*/
    Min_Inter,
    Max_Inter,
    PUBLIC_ADDR,
    NO_WHITE_LIST_USE, /* use white list */
    sizeof(local_name),
    (uint8_t*) &local_name,
    BleApplicationContext.BleApplicationContext_legacy.advtServUUIDlen,
    BleApplicationContext.BleApplicationContext_legacy.advtServUUID,
    0,
    0);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值