我们正在进行一个项目,需要设置大约70个特征。我们已经开始使用ble_app_外围设备项目作为基础和580。
由于这是一项非常耗时的工作,我创建了自动生成函数,为所有特征的所有定义创建所有c代码。
在添加它们之后,我最终出现了一个内存错误,这让我想到了一个主题,即一个服务可以拥有的最大特征数是32。
我试图将特征减少到30,但仍然面临相同的内存问题,这导致我进入另一个主题,表明我可以增加数据库的堆大小,我做到了。
我将它设置为“#define DB_HEAP_SZ 4096”,但仍然存在相同的内存问题。我不得不将特征减少到13个,只有这样它才能在启动时没有任何错误地运行。但是只有13对少数,所以我想剩下的唯一选择是创建一个新服务,持有一个新数据库?
如果这是剩下的唯一选项,我还没有完全理解如何创建新服务(基于ble_app_外围项目)。我不确定在哪些文件中添加新服务,以及在何处定义逻辑之间的所有链接。是否有关于如何在任何地方扩展和创建此项目中的新服务的教程?
设备:
我看到有一个额外的cust2服务!我尝试启用此服务,并将define设置为1,以便它运行所有相关函数并进行设置。
但一旦我编译并运行了它,它花了3秒钟的时间,然后就好像看门狗停了一样?
我还看到没有与cust2服务相关的数据库功能,找不到任何属性?启用cust2服务时是否缺少任何内容,或者它应该无需任何修改就运行?
嗨,r91_andersson,
在一个服务中添加更多特性没有任何nubler限制。添加任何服务/特征后,将从DB_HEAP_SZ分配内存。因此,堆大小是关于服务数量和特性的唯一限制。如果将DB_HEAP_SZ设置为4096,并且仍然存在内存分配问题,这意味着您无法分配70个特征。可能您增加了错误的堆类型,或者在设备以不同的睡眠模式运行时增加了DB堆大小。例如,如果您希望增加DB_HEAP_SZ,请转到da1458x_conifg_advanced.h文件和#if defined(CFG_MEM_MAP_EXT_SLEEP)|下!defined(CFG_MEM_MAP_DEEP_SLEEP)添加以下具有相应大小的#define DB_HEAP_SZ。另外,请您指出发生内存分配错误的时间和地点,好吗?当您尝试构建项目或尝试下载固件时,代码会卡在wrap_pllattform_reset()上?此外,有许多特性,这不是最佳实践,您应该按照建议尝试使用某种协议,并将您的值合并到一个或多个特性中。SDK的ble_app_外围示例仅实现cust1配置文件。SDK中存在custs2配置文件,但没有任何实现,因此如果要创建第二个配置文件,则必须检查custs1是如何实现的,并遵循相同的过程。
谢谢,PM_Dialog
你好
我需要创建自定义配置文件。
你能给我发一个链接来获取软件开发用户指南吗
UM-B-014:用户手册–软件开发工具包第一步指南。
UM-B-003:用户手册-软件开发指南修改模板工程和添加业务指南。
你好害怕,
谢谢你的帖子,但是这个帖子与你所问的无关。请下次创建一个新的论坛线程。如果您不知道创建新论坛线程的过程,请让我知道,我将为您提供适当的步骤。UM-B-014文档是针对我们目前不支持的专家DK的。请访问我们的新支持门户网站//www.xmece.com/bluetooth-low-energyURL,您会发现我们只有DA14580/1/3产品的Pro DK和Basic DK。另外,我建议您看看我们的DA14585/6产品和我们的新SDK6!亚博电竞菠菜
//www.xmece.com/亚博电竞菠菜products/connectivity/bluetooth-low-energy/smartbond-da14585-and-da14586
此外,AN-B-003文档是基于SDK3的,这是一个非常旧的SDK版本,目前还不能使用。
谢谢,PM_Dialog
嗨,对话框中,
我想通过BLE从移动应用程序的定制特征读取价值。
在5.0.4 sdk中创建Characteristic时,是否可以从sdk中读取值。
嗨,马杜夫,
就我从你们的问题中所能理解的而言,你们想要实现一个可读的特性,不是吗?如果是,请检查SDK的ble_app_外围示例和“ADC VAL 1”特性。如果你的意思是其他的,请澄清你的问题,并创建一个新的论坛线程。
谢谢,PM_Dialog