嗨,对话框
我使用DA14583, sdk 5.0.3。我想断开用户应用程序级别的链接,当一个'断开'按钮或用户输入发生。
嗨caiziee,
您可以使用app_easy_gap_disconnect()函数来指示外设断开与中心的连接。
由于MT_dialog
谢谢你的回答。它的工作原理。还有一件事,如果应用程序调用这个函数,那么由内核管理的BLE堆将被清空,我的意思是清除所有当前堆消息?
我想调用这个函数的原因是,我想在CUSTS1_VAL_NTF_CFM未返回时主动断开连接,以避免堆崩溃。所以我想确保这个断开操作可以清除累积的堆。
如果答案是有用的,请接受答案,以便验证。
发送到内核的每条消息,内核本身都会释放它(如果它得到服务),如果消息指向TASK_APP,任务应该通过返回KE_MSG_CONSUMED来释放消息。关于您希望在没有得到CUSTS1_VAL_NTF_CFM时断开连接的事实,您提到的消息将在通知离开内存空间并进入缓冲区后立即发送回来,以便通过空中发送。如果您开始在堆中积累消息,这意味着您没有遵循您应该首先从通知获得确认,然后发送附加消息的约定。处理这个的建议方法是获得通知的确认,然后发送额外的通知。
现在如果你达到一个点,你在堆开始积累消息一旦断档缓冲区将被刷新和仍然存在的堆的消息会消耗,丢弃实际上因为没有有效的连接来发送存储的通知。
谢谢,Dialog,它真的帮了我很多。
嗨caiziee,
您可以使用app_easy_gap_disconnect()函数来指示外设断开与中心的连接。
由于MT_dialog
嗨,对话框
谢谢你的回答。它的工作原理。还有一件事,如果应用程序调用这个函数,那么由内核管理的BLE堆将被清空,我的意思是清除所有当前堆消息?
我想调用这个函数的原因是,我想在CUSTS1_VAL_NTF_CFM未返回时主动断开连接,以避免堆崩溃。所以我想确保这个断开操作可以清除累积的堆。
嗨caiziee,
如果答案是有用的,请接受答案,以便验证。
发送到内核的每条消息,内核本身都会释放它(如果它得到服务),如果消息指向TASK_APP,任务应该通过返回KE_MSG_CONSUMED来释放消息。关于您希望在没有得到CUSTS1_VAL_NTF_CFM时断开连接的事实,您提到的消息将在通知离开内存空间并进入缓冲区后立即发送回来,以便通过空中发送。如果您开始在堆中积累消息,这意味着您没有遵循您应该首先从通知获得确认,然后发送附加消息的约定。处理这个的建议方法是获得通知的确认,然后发送额外的通知。
现在如果你达到一个点,你在堆开始积累消息一旦断档缓冲区将被刷新和仍然存在的堆的消息会消耗,丢弃实际上因为没有有效的连接来发送存储的通知。
由于MT_dialog
谢谢,Dialog,它真的帮了我很多。