嗨,我正在使用DSPS配置文件来开发基于DA14580芯片组的Pan1740模块,
不幸的是,一旦我尝试断开主机从一个硬重置的设备断开连接,我使用app_disconnect();
function:
void app_disconnect(void)
{
struct gapc_disconnect_cmd * cmd = ke_msg_alloc(gapc_disconnect_cmd,
ke_build_id(task_gapc,app_env.conidx),task_app,
gapc_disconnect_cmd);
cmd->操作= gapc_disconnect;
cmd->原因= co_error_remote_user_term_con;
//发送消息
ke_msg_send(cmd);
}
根据串行命令断开连接。
关于这一点的任何帮助都会受到非常感谢。
谢谢。
关键词:
设备:
从HardFault Handler查看PC,罪魁祸首似乎在访问未对齐的内存地址的STRH,LDR的指令之间变化。
但是我不确定我为所有变量添加了对齐检查的原因。
有关如何解决进一步调试的任何想法?
嗨Aley_i,
当您通过UART发送时,您获取platform_reset的disconnect命令?也许您正在泄漏,生成数据而不会在断开连接时消耗它们。
谢谢mt_dialog.
嗨mt_dialog,
感谢您的回复,在我在主机上发布App_disconnect()后,我没有得到一个软件或平台重置,
我应该自己发出重置平台以及断开功能吗?
当你说生成数据而不消耗它们时,您是否在谈论相关的应用程序控制器任务未正确删除?
是否有任何方法可以确保在我开始扫描之前正确删除任务?
谢谢
只是为了澄清,我有一个充当主机(客户端)的BLE中央设备,而且BLE外设配置为设备(客户端),我将来自主机应用程序的断开连接命令发送到主机间隙层,这似乎是罪魁祸首,这并不总是第一次发生,有时需要两次或三次尝试。
我尝试断开与外围设备的连接,并具有相同的问题。
嗨Aley_i,
对不起,我没有意识到断开命令后在主机上获得硬重置。在您在主机上断开连接时,您就会收到一个GAPM_DEVICE_READY_IND?您使用的是DSP(主机和设备),而您还添加了从UART接收数据的额外代码,并将其转换为命令(在外围方面完成的大多数更改)?您是否能够使用嗅探器跟踪命令并检查LL_TERMINATE事件(事件的任何重新传输)?还有SDK是你的设计吗?您的主机位于完全嵌入或完全托管模式,是使用GTL在外部CPU上运行的主机?
谢谢mt_dialog.
嗨mt_dialog,
不,我在断开连接后,我没有在主机上获得GAPM_DEVICE_READY_IND,我得到的只是GAPC_DISCONNECT_EVT.i只在启动时获取GAPM_DEVICE_READY_IND。
是的,我正在使用DSP主机和设备,我添加了额外的代码以在主机上获取以下命令:
开始扫描
get_advertised_list(转储广告外设列表)
连接(连接到特定的外设)
断开(断开和重启扫描)
在外围方面,我只有:
set_name(设置外设的名称(通告数据包))
断开
我正在使用DSPSv3.150.2,主机使用GTL在外部CPU上运行。
在断开连接情况下,我在主机和设备中获取GapC_Disconnect_evt,我尝试过迫使一个磁带和GapM_PLF_RESET在每个断开连接后,但问题仍然存在。
嗨Aley_i,
我能够重现你的问题。问题是由于DSPS构建的旧SDK3上的错误,在上一个SDK3.0.10中引入了修复程序。因此,我建议移动到最新的SDK,以解决您的问题或等待基于新的SDK5的DSP发布,这将很快出来。
谢谢mt_dialog.
谢谢mt_dialog,
任何想法基于SDK5当需求方出来? also is there a guide to port the project if I want to do it myself.
谢谢
嗨Aley_i,
我不知道确切的日期,但是通过评估Powccess我相信它将很快发布,不幸的是,没有一个新的SDK5的移民指南。
谢谢mt_dialog.