使用app_easy_gap_undircated_advertise_get_active()

5个帖子/ 0新
最后一篇
ankitdaf.
离线
最后一次露面:2年9个月前
加入:2015-09-03 20:14
使用app_easy_gap_undircated_advertise_get_active()

你好

收到UART数据时,我想更新特征的值。我在BLE_APP_BAREBONE示例之上,修改了CUSTS1简介的长VAL。

我已经实现了UART2_READ_COMPLETION_CB(UINT8_T状态)来触发更新(使用通知)。

一种。当我用我的Android应用程序连接到设备时,读取特征和断开连接时,它会再次启动广告。这是可靠的。
湾当我用我的Android应用程序发送连接到设备时,订阅通知,通过UART发送一些数据,然后断开连接,它不会再次启动广告。我需要它再次宣传我的应用程序。我能够弄清楚(使用printf语句)以下陈述是罪魁祸首:

struct gapm_start_advertise_cmd * cmd;
cmd = app_easy_gap_undirected_advertise_get_active();

当我运行流b时,程序不会超出上面的线(cmd = .....)。

你能告诉我如何接近这个并修复它,以及我可能缺少的东西?

谢谢 !

关键词:
设备:
mt_dialog.
离线
最后一次露面:2个月3周前
职员
加入:2015-06-08 11:34
嗨ankitdaf,

嗨ankitdaf,

您可以禁用App_easy_gap_undircated_advertise_get_active()函数中的睡眠状态,以检查问题是什么。虽然我无法看到任何连接
通知和广告程序。

谢谢mt_dialog.

ankitdaf.
离线
最后一次露面:2年9个月前
加入:2015-09-03 20:14
我又在了一些,在这里测试了一些

我测试了一些,这就是我发现的:

1.如果我连接到设备并从UART处理程序发送CUSTS1_VAL_NTF_REQ内核消息,则设备在第一次断开连接后停止工作。
2.如果我连接到设备,则断开连接,然后再次连接然后从UART处理程序发送CUSTS1_VAL_NTF_REQ,即使断开连接后,设备也会继续可靠地工作,并且我可以继续接收特征更新通知。

基于上述情况,我猜测当我第一次断开系统稳定时,必须存在一些初始化/变量更新。如果我在连接后第一次发送内核消息,系统不起作用。

这对你有什么想法吗?

P.S.我没有找到你想要我禁用的睡眠和一步..找不到它们
谢谢

mt_dialog.
离线
最后一次露面:2个月3周前
职员
加入:2015-06-08 11:34
嗨ankitdaf,

嗨ankitdaf,

为了调试应用程序,您无法在睡眠模式下运行,因此您必须禁用它(在user_config.h文件中,app_default_sleep_mode应该具有Arch_sleep_off值)。自从我无法解决这可能发生这种情况以来,您必须调试您的问题。现在关于初始化变量,当断开连接发生时,调用磁带_disconnect_ind_handler()命中和用户自定义回调以便重新启动广告(默认操作),我不会看到任何初始化变量。卡住问题可能是很多东西(NMI,硬盘,平台_RESET,甚至没有指示设备宣传,所以它没有任何东西)。

谢谢mt_dialog.

ankitdaf.
离线
最后一次露面:2年9个月前
加入:2015-09-03 20:14
你好 !

你好 !

感谢冗长的回复。在亨舍语上,我只是将参数键入核心消息作为uint16_t,因为其中一些被声明为uint8_t。系统自从以来一直在工作!