向BLE_APP_PERIPHERAL添加更多服务/特征

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
9个帖子/ 0个新
最后发表
rajucoolsuraj
离线
最后看到:5个月2周之前
加入:2018-12-12 16:09
向BLE_APP_PERIPHERAL添加更多服务/特征

你好,对话框,
我正在试验BLE_APP_PERIPHERAL,并包括一个服务SVC4(总共4个服务)和一个特征(CHAR1);
在编译应用程序和调试时,

1.可以包含特征声明“DECL”

2.在添加特征“值”-设备不通告(基于功率分析器),尽管程序运行在调试模式。

我想知道在SDK6.0.10中对BLE_APP_PERIPHERAL或其他任何东西进行更改的步骤,以便在我的SVC4中将特性增加到至少10。

谢谢,期待您的尽快回复。

设备:
PM_Dialog
离线
最后看到:2天15小时前
工作人员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

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

谢谢,PM_DIalog

rajucoolsuraj
离线
最后看到:5个月2周之前
加入:2018-12-12 16:09
你好,对话框,

你好,对话框,

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

谢谢

rajucoolsuraj
离线
最后看到:5个月2周之前
加入:2018-12-12 16:09
(SVC4_IDX_SVC)
[SVC4_IDX_SVC] = {(uint8_t*)&att_decl_svc, ATT_UUID_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_UUID_16_LEN, PERM(RD, ENABLE), 0,0, NULL}/ /数据特征值[SVC4_IDX_DATA_VAL] = {SVC4_DATA_UUID_128 ATT_UUID_128_LEN,烫(RD,使)sizeof (struct data_t), 0,零},/ /数据特征配置描述符[SVC4_IDX_DATA_NTF_CFG] = {(uint8_t *) &att_desc_cfg ATT_UUID_16_LEN,烫(RD,使)|烫(WR,启用),sizeof (uint16_t), 0,零},/ /数据特点用户描述[SVC4_IDX_DATA_USER_DESC] = {(uint8_t *) &att_desc_user_desc ATT_UUID_16_LEN,烫(RD,启用),sizeof (DEF_SVC4_DATA_USER_DESC) - 1, sizeof (DEF_SVC4_DATA_USER_DESC) - 1, DEF_SVC4_DATA_USER_DESC}, / /特点宣言[SVC4_IDX_CHAR] = {(uint8_t *) &att_decl_char ATT_UUID_16_LEN,烫(RD,启用),0,0,零},/ /特征值[SVC4_IDX_VAL] = {SVC4_UUID_128 ATT_UUID_128_LEN,烫(RD,启用),DEF_SVC4_CHAR_LEN, 0,零},/ /用户特征描述[SVC4_IDX_USER_DESC] = {(uint8_t *) &att_desc_user_desc ATT_UUID_16_LEN,烫(RD,启用),sizeof (DEF_SVC4_USER_DESC) - 1, sizeof (DEF_SVC4_USER_DESC) - 1, DEF_SVC4_USER_DESC},

你好,对话框,
似乎有一种带有特征的奇特行为。

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

在数据库中加入CCCD作为数据特征;该设备不做广告。

注释掉Data Char的CCCD属性该设备开始发布广告。

为什么这种行为很奇怪?

问候

rajucoolsuraj
离线
最后看到:5个月2周之前
加入:2018-12-12 16:09
你好,对话框,

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

谢谢

PM_Dialog
离线
最后看到:2天15小时前
工作人员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

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

谢谢,PM_Dialog

rajucoolsuraj
离线
最后看到:5个月2周之前
加入:2018-12-12 16:09
配置了代码

代码配置不正确。
现在它的工作。
感谢调试链接。

问候

PM_Dialog
离线
最后看到:2天15小时前
工作人员
加入:2018-02-08 11:03
嗨rajucoolsuraj,

嗨rajucoolsuraj,

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

谢谢,PM_Dialog

PM_Dialog
离线
最后看到:2天15小时前
工作人员
加入:2018-02-08 11:03
嗨abc1724,

嗨abc1724,

在SDK5.0.4中有2个定制服务可用,你可以在sdk\ble_stack\profiles\custom\custs sdk路径下找到它们。例如,在ble_app_peripheral示例中,只实现了自定义服务1。为了添加第二个服务,您应该执行以下步骤:

  • 将sdk_profiles文件夹下的custs2 / custs2_task导入到项目中
  • #include "custs2.h" into user_profiles_config.h '
  • #define EXCLUDE_DLG_CUSTS2 (0) into user_modules_config.h
  • 然后,按照自定义服务1的实现。请检查教程3:构建自定义配置文件教程形成我们的支持端口。这可能对你有帮助!

如果你想创建第三个自定义服务,SDK没有提供,你应该自己做。这不是一个简单的实现,因为一些SDK部分需要修改。请查看关于自定义服务的教程。

//www.xmece.com/sites/default/files/training_02_custom_profile_example_v1.2_0_0.pdf

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

如果您有任何后续问题,我建议您创建一个新的论坛帖子。

谢谢,PM_Dialog