无法传输最大长度的广告包

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
6个员额/ 0个新员额
最后发表
mark.bloechl
离线
最后看到:1年10个月前
加入:2015-12-09你们
无法传输最大长度的广告包

我正在传输一个最大长度(31B)的广告包。使用3个强制字节的广告标志,似乎我应该能够传输我自己的28个字节,但当我试图发送超过26个字节时,它就不起作用了——它看起来根本就不是广告。不可思议的是,当我收到26 b广告DA14580配置为中心,我可以看到我的数据(\ x06 \ x01)然后空间为两个字节的缓冲区,但当我增加广告27或28字节我一无所获。
这是我的26B广告:
#定义USER_ADVERTISE_DATA " \ x19 \ xff \ x31 \ x01 \ x97 \ x30 \ xcf \ x43 \ xea \ x36 \ x00 \ x12 \ x34 \ x56 \ x78 \ x92 \ x01 \ x02 \ x02 \ x02 \ x02 \ x00 \ x00 \ x00 \ x06 \ x01”
为了尝试28B,我添加了两个'ff'字节(并增加了字段长度字节):
#定义USER_ADVERTISE_DATA " \ x1b \ xff \ x31 \ x01 \ x97 \ x30 \ xcf \ x43 \ xea \ x36 \ x00 \ x12 \ x34 \ x56 \ x78 \ x92 \ x01 \ x02 \ x02 \ x02 \ x02 \ x00 \ x00 \ x00 \ x06 \ x01 \ xff \ xff”

设备:
STS_Dialog(未验证)
嗨mark.bloechl,

嗨mark.bloechl,

2个方案已经检查过了,工作正常,请给我更多的信息什么是“配置为一个中心”?你把DA14580设为中心?

谢谢,

STS_DIalog。

mark.bloechl
离线
最后看到:1年10个月前
加入:2015-12-09你们
你好,

你好,

我有2个DA14580:一个配置为外围设备,一个配置为中心设备。两者的代码都取自DSPS示例项目。当我试图从外设配置的单元发布超过26个用户字节,并在中央配置的单元接收它时,它不起作用。当我在26字节或以下时,它会。这两个实例之间的唯一区别是USER_ADVERTISE_DATA的大小。当我将广告长度设置为>26B时,我根本不相信这个单元在做广告,因为我在手机上也看不到它。

谢谢!
马克

MHv_Dialog
离线
最后看到:1个月5天前
工作人员
加入:15 2013-12-06
嗨,马克,

嗨,马克,

DA14580堆栈自动为广告数据加上3个字节的标志(length+type+flags = 3个字节),然后只剩下28个字节。对于剩余的数据,您至少需要2个字节来指示有效负载长度和发布数据类型。这就剩下26字节的有效负载。

通过实现SDK内部的工作,可以防止堆栈添加3个字节的标志,但蓝牙规范规定,当外设可连接时,必须在广告中有标志。如果你真的需要控制所有31字节在你的广告,我可以提供变通。

/ MHv

mark.bloechl
离线
最后看到:1年10个月前
加入:2015-12-09你们
长度和数据类型

长度和数据类型字段包含在我的广告字符串中(例如,当我说26字节是1B长度+ 1B类型+ 24B有效载荷,同样的28字节字符串)。

MHv_Dialog
离线
最后看到:1个月5天前
工作人员
加入:15 2013-12-06
很抱歉没有读到你的

很抱歉没有仔细阅读你的帖子。

我只是将您的28字节字符串复制到SDK504的一个干净的提取中(空的外围模板项目),它会毫无问题地发布整个字符串。

///广告服务数据
///广告类型标志,不得在广告数据中设置
#定义USER_ADVERTISE_DATA " \ x1b \ xff \ x31 \ x01 \ x97 \ x30 \ xcf \ x43 \ xea \ x36 \ x00 \ x12 \ x34 \ x56 \ x78 \ x92 \ x01 \ x02 \ x02 \ x02 \ x02 \ x00 \ x00 \ x00 \ x06 \ x01 \ xff \ xff”

///广告数据长度-最大28字节,预留3字节设置
#定义USER_ADVERTISE_DATA_LEN (sizeof (USER_ADVERTISE_DATA) 1)

/ MHv