向BLE\u APP\u外围设备添加更多服务/特性

⚠️
你好。。谢谢你来参加论坛。令人兴奋的消息!我们现在正在移动到我们的新论坛平台,将提供更好的功能,并包含在主对话网站的过程。所有帖子和账号都已迁移。我们现在只接受新论坛上的流量-请在//www.xmece.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
9个职位/0个新职位
最后一篇文章
拉朱古尔苏拉杰
离线
最后一次见到:5个月2周前
已加入:2018-12-12 16:09
向BLE\u APP\u外围设备添加更多服务/特性

你好Dialog,
我正在试用BLE\u APP\u外设,包括一个服务SVC4(共4个服务)和一个characteristic(CHAR1);
在编译应用程序和调试时,

1可以包括特征声明“DECL”

2在添加特征“值”时-尽管程序在调试模式下运行,但设备不会播发(基于power profiler)。

请允许我知道在SDK6.0.10中对BLE\ u APP\ u外围设备或任何其他设备进行更改的步骤,以便在我的SVC4中将特性至少增加到10。

谢谢,期待您尽快回复。

设备:
PM\U对话框
离线
最后一次见到:1天6小时前
工作人员
已加入:2018-02-08 11:03
你好rajucoolsuraj,

你好rajucoolsuraj,

设备停止广告的最可能原因是,代码可能会卡在某个地方。你能在调试模式下运行它并热连接调试器吗?代码是否在某个地方卡住了,例如在NMI或WDOG处理程序或任何断言中?

谢谢,下午好

拉朱古尔苏拉杰
离线
最后一次见到:5个月2周前
已加入:2018-12-12 16:09
你好Dialog,

你好Dialog,

我可以知道如何热附加调试器的过程吗?

谢谢

拉朱古尔苏拉杰
离线
最后一次见到:5个月2周前
已加入:2018-12-12 16:09
[SVC4\u IDX\u SVC]
[SVC4_IDX_SVC]={(uint8_t*)&att_decl_SVC,att_id_128_LEN,PERM(RD,ENABLE),sizeof(custs1_SVC4),sizeof(custs1_SVC4),(uint8_t*)&custs1_SVC4},//数据特征声明[SVC4_IDX_Data_CHAR]={(uint8_t*)&att_decl_CHAR,att_id_16_LEN,PERM(RD,ENABLE),0,0,NULL},//数据特征值[SVC4_IDX_Data_VAL]={SVC4_Data_UUID_128,ATT_uid_128_LEN,PERM(RD,ENABLE)sizeof(struct Data_t),0,NULL},//数据特征配置描述符[SVC4_IDX_Data_NTF_CFG]={(uint8_t*)&ATT_desc CFG,ATT_uid_16_LEN,PERM(RD,ENABLE)| PERM(WR,ENABLE),sizeof(uint16_t),0,NULL},//数据特征用户描述用户描述数据特征用户描述[SVC4\u IDX\u IDX\u数据用户用户用户描述]={(uint8\u t*)和att\u描述用户描述,att用户描述,att\UUID\uuuuu16伦,PERM(RD,使能),sizeof(def4\u IDX\u数据用户数据数据用户用户用户描述)-1,sizeof(DEF\u SVC4数据用户用户描述)-1,DEF(DEF\u SVC4数据用户用户描述)-1,DEF\SVC4数据用户数据用户用户数据数据用户描述},},,//特征宣言////特征宣言[SVC4\u IDX\u字符]==={(SVC4\u IDX\u字符]=={(IDX{(uit8\8\u t*))和dec,per,per,包括包括包括包括包括包括,使能,预计,预计,per,是的,0,NULL},0,NULL},,//特征值[SVC4\u IDX\uuuu},//特征值[SVC4\u IDX\uuuuuu128,ATT uuuuid\u 128伦,PERM(RD,启用),DEF\SVC4\u charu LEN,0,NULL},//特征值,//特征值[SVC4\SVC4\u IDX\u IDX\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu128,128,PERM(RD,启用),PERM,PERM(RD,启用),DEF(DEF)SVC4,DEF(DEF)SVC4\SVC4-1,sizeof(DEF)SVC(DEF(DEF)SVC4\SVC4\svc 4\svc},

你好Dialog,
似乎有一种特殊的行为具有某种特征。

我一直在尝试调试上面的代码示例-

当为数据特性将CCCD添加到DB中时,设备不播发。

注释掉数据字符的CCCD属性;设备开始播发。

为什么这种行为很奇怪?

当做

拉朱

拉朱古尔苏拉杰
离线
最后一次见到:5个月2周前
已加入:2018-12-12 16:09
你好Dialog,

你好Dialog,
CCCD声明需要正确的许可,
因此,行为。

谢谢

拉朱

PM\U对话框
离线
最后一次见到:1天6小时前
工作人员
已加入:2018-02-08 11:03
你好rajucoolsuraj,

你好rajucoolsuraj,

由于WDOG或NMI或由于内存分配失败导致的任何断言,代码被卡在某个地方,因此设备停止播发。正如我在上一篇文章中提到的,运行带有热连接调试器的固件会非常有帮助。按照这种方法,您可以确定代码堆叠的原因。例如,如果原因是WDOG过期,则会触发WDOG处理程序。为了学习如何附加调试器,请阅读教程8:调试方法辅导的。

谢谢,下午好

拉朱古尔苏拉杰
离线
最后一次见到:5个月2周前
已加入:2018-12-12 16:09
代码已配置

代码配置不正确。
现在开始工作了。
感谢调试链接。

当做

拉朱

PM\U对话框
离线
最后一次见到:1天6小时前
工作人员
已加入:2018-02-08 11:03
你好rajucoolsuraj,

你好rajucoolsuraj,

很高兴你解决了问题,谢谢你接受我的回答。

谢谢,下午好

PM\U对话框
离线
最后一次见到:1天6小时前
工作人员
已加入:2018-02-08 11:03
你好,abc1724,

你好,abc1724,

在SDK5.0.4中,有2个自定义服务可用,您可以在sdk\ble\u stack\profiles\custom\custs sdk path下找到它们。例如,在ble\u app\u外围设备示例中,仅实现定制服务1。要添加第二个服务,应执行以下步骤:

  • 将sdk\u profiles文件夹下的custs2/custs2\u任务导入到项目中
  • #将“custs2.h”包含到用户\u profiles\u config.h'
  • #在user\u modules\u config.h中定义EXCLUDE\u DLG\u CUSTS2(0)
  • 然后,遵循custom service 1的实现。请检查一下房间教程3:构建自定义纵断面教程形成我们的支持端口。这也许对你有帮助!

如果您想创建第三个定制服务,SDK没有提供,您应该自己创建。它不是一个直接的实现,因为有两个SDK部分需要修改。请查找有关自定义1服务的教程。

//www.xmece.com/sites/default/files/training\u 02\u custom\u profile\u example\u v1.2\u 0\u 0.pdf

但是,如果您要开始一个新的设计或项目,我们建议您从我们最新的Smartbond设备DA14531开始。SDK有了很大的改进,我们有很多代码示例和改进的文档,还有软件路线图支持。DA14580产品系列和SDK5没有任何软件路线图支持。

如果你有任何后续问题,我建议你创建一个新的论坛线程。

谢谢,下午好