嘿,
我创建了2个服务,有30个特征。当我想添加第三个服务时,我只能创建24个特征。当我创建更多服务时,第三个服务显示为空。我已经检查了是否有一些语法错误。当我尝试创建两个不同的特征(第24和23个特征)时,问题重现了。我没有从编译器得到任何错误。板子并没有在某些功能中卡住,它似乎工作得很好。我能做什么来增加特征的数量?
改变设置:#定义DB_HEAP_SZ 14336
我用的是:
DA14585
SDK 6.0.10.511
ble_app_profile
问候,
关键词:
设备:
嗨moritz.schnaufer,
服务中可以拥有的特征量和服务t的数量都受到分配给数据库的堆数量的限制。因此,正如你在文章中提到的,你应该根据你的实现增加DB_HEAP_SZ的大小。您是否尝试在调试模式下运行代码,并且当您添加第24和23个特征时代码不会在任何地方崩溃?你能确保你的设备还在做广告吗?您可以使用SmartSnippets工具箱的功率分析器,以确保设备的广告。
谢谢,PM_Dialog
嘿,
谢谢你的回复。我增加了DB_HEAP_SZ的大小,但它仍然不能工作。当DB_HEAP_SZ的大小太小时,程序通常会卡住
ASSERT_WARNING(错误= = RESET_AFTER_SUOTA_UPDATE);
但在我的情况下,这不会发生。此外,我认为DB_HEAP_SZ确实很大。我不确定我是否明白你的意思确保你的设备还在做广告.我是说,我能看到它,并与之产生共鸣。所以广告做得很好。至少我是这么想的。你能解释一下你说的是什么意思吗?
不幸的是SmartSnippet工具箱目前不工作。所以我还不能尝试能量侧写器。
我调试了代码,它没有崩溃。
问候
嗨moritz.schnaufer,
你使用什么中央应用程序扫描和连接到外设设备。这个问题也可以出现在中央。尝试使用不同的Central应用程序,如果您必须访问嗅探器,这是调试此问题的最佳选择。
服务和特征只受应用程序可用的堆内存的限制。
最好的
LC_Dialog
嘿,
作为一个中心设备,我使用智能手机。在智能手机上,我使用了BLE扫描仪和nRF连接。使用不同的智能手机时,这种行为并没有改变。我还尝试了其他一些应用程序,以及一个蓝亚博国际官网平台网址牙适配器。结果总是一样的。我不认为这是中央应用程序的问题。我知道应用程序和智能手机能够显示更多具有特色的服务。
只是为了好玩,我把堆增加到32768,但结果还是一样。通过增加特征和服务的数量,我只需要调整DB_HEAP_SZ,没有其他的吗?
问候,
嗨moritz.schnaufer,
是的,堆大小是与服务和特征的数量有关的唯一限制。我们将进一步探讨这个问题,并向您反馈一个可能的解决方案。
最好的
LC_Dialog
你好,对话框,
我正在试验BLE_APP_PERIPHERAL,并包括一个服务SVC4(总共4个服务)和一个特征(CHAR1);
在编译应用程序和调试时,
1.可以包含特征声明“DECL”
2.在添加特征“值”-设备不通告(基于功率分析器),尽管程序运行在调试模式。
我想知道在SDK6.0.10中对BLE_APP_PERIPHERAL或其他任何东西进行更改的步骤,以便在我的SVC4中将特性增加到至少10。
谢谢,期待您的尽快回复。
嗨rajucoolsuraj,
请尽量不要重复您在论坛上的问题。我在下面的论坛帖子中推动了对你问题的讨论:
https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/add-more-services-characteristics
谢谢,PM_DIalog