14个帖子/ 0新
最后一篇文章
罗尼
离线
最后一次见到:4年前10个月前
硕士
已加入:2014-05-15 15:02
对话框断开

不确定对以下情况应采取哪些措施:
对话框正在运行与应用程序连接良好的对话框。
当我们离开传感器和芯片时,RSSI会按预期变化。
突然,对话框断开了,我们再次连接的唯一方法是重新启动设备。

当RSI级别过低时,我们可以向芯片发送断开消息,并告诉用户离应用程序更近,但是否有更优雅的解决方案?
谢谢

设备:
MT\u对话框
离线
最后一次见到:3周前1个月
工作人员
已加入:2015-06-08 11:34
嗨,罗尼,

嗨,罗尼,

您不必将断开消息从设备发送到芯片……当设备在范围内时,您将使用GAPC断开连接(通过使用GAPC断开连接\u IND u handler())来断开连接,您可以将设备从该函数重新播发。

谢谢你的对话

罗尼
离线
最后一次见到:4年前10个月前
硕士
已加入:2014-05-15 15:02
如果我正确理解

如果我正确理解GAPC断开连接,则激活我的配置文件任务中的gap断开\u IND_处理程序。
顺便说一下,我们的解决方案基于sample128。
我在gap_UDisconnect\u ind_u处理程序中有一个断点。
当android应用程序断开连接时,我到达断点,但当设备超出范围时我不会到达断点。
在这种情况下,处理程序是否可能被激活?
谢谢

MT\u对话框
离线
最后一次见到:3周前1个月
工作人员
已加入:2015-06-08 11:34
嗨,罗尼,

嗨,罗尼,

当外围设备超出范围时,应激活处理程序,原因为0x08。激活的处理程序是应用程序任务\u handlers.h中定义的gapc\u disconnect\u ind_处理程序。请尝试使用sample128项目的默认版本验证此操作。

谢谢你的对话

罗尼
离线
最后一次见到:4年前10个月前
硕士
已加入:2014-05-15 15:02
这是应用程序中的处理程序

这是app炣task.c中的处理程序
int gapc U DISCONT\U ind U处理程序(ke U msg_UID\U t const msgid,
结构gapc_U断开\u ind const*param,
任务\u id\u const dest\u id,
ke_task\u id\u t const src\u id)
{
应用程序断开\u func(dest\u id,param);

返回(消耗的KE_MSG_U);
}

当android应用程序断开时我会到达,但当芯片超出范围时我不会到达那里

MT\u对话框
离线
最后一次见到:3周前1个月
工作人员
已加入:2015-06-08 11:34
嗨,罗尼,

嗨,罗尼,

是的,这不应该发生,指示不应立即激活,而是在Supervision超时过期时激活。

如果在中心无法到达代码的地方停止调试?

请将断点放置在平台重置功能上,以查看代码是否结束在那里。

谢谢你的对话

罗尼
离线
最后一次见到:4年前10个月前
硕士
已加入:2014-05-15 15:02
平台重置在哪里?

平台重置在哪里?
在跳转表中找到它,但找不到代码。

MT\u对话框
离线
最后一次见到:3周前1个月
工作人员
已加入:2015-06-08 11:34
嗨,罗尼,

嗨,罗尼,

你是否检查过外围设备从中央无法到达的代码的位置?

忘记提到您必须实现自己的自定义函数(my_UPlatform_UReset_ufunc),并替换跳转表中的平台reset_ufunc。然后在自定义函数中放置断点,以查看是否发出了平台重置功能。

谢谢你的对话

罗尼
离线
最后一次见到:4年前10个月前
硕士
已加入:2014-05-15 15:02
超出范围时

当超出范围时,程序停止。
拆卸在地址0
命令窗口有警告:
CPU无法停止
以及一系列:
jlink错误:cpu运行时无法读取寄存器xx

罗尼
离线
最后一次见到:4年前10个月前
硕士
已加入:2014-05-15 15:02
有没有一个例子

您有(my_UPlatform_UReset\u func)的实现示例,以查看它是如何实现的吗?

MT\u对话框
离线
最后一次见到:3周前1个月
工作人员
已加入:2015-06-08 11:34
嗨,罗尼,

嗨,罗尼,

只需将跳转表中的常规函数替换为自定义函数,以便放置断点并捕获它。

从你的9篇文章来看,你的程序似乎要进行平台重置。您丢失调试器的事实是一个很强的迹象。我认为当外围设备超出范围或是分配内存而不释放内存时,您的内存将耗尽。我认为外围设备的消息正在堆积,直到监督超时,并且在调用gapc断开连接\u ind u处理程序之前发出平台重置。如果是这样,您必须在设备中实现某种流控制。

谢谢你的对话

罗尼
离线
最后一次见到:4年前10个月前
硕士
已加入:2014-05-15 15:02
尝试在跳转中替换

尝试在跳转表.c中替换,但在生成时失败。
请告诉我在哪里换。

关于流量控制,我将尝试实现一个。
谢谢

罗尼
离线
最后一次见到:4年前10个月前
硕士
已加入:2014-05-15 15:02
取得了一些进展。

取得了一些进展。
添加了我的重置函数,并调用,错误为0xf2f2f2f2

这是什么意思?

罗尼
离线
最后一次见到:4年前10个月前
硕士
已加入:2014-05-15 15:02
我想你解决了。

我想你解决了。
添加了一个逻辑,该逻辑计算应用程序发送的通知数和由配置文件发送的通知数。
当差异是9时,当android应用程序告诉我,我停止发送和恢复。
很好。
谢谢你的帮助

主题已锁定