如何防止操作过程中出现BLE超时

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support。我们将在未来几天修复bug /优化搜索和标记。
3个帖子/ 0个新
最后发表
natebrune
离线
最后看到:2年4天前
加入:2018-08-03 20:50
如何防止操作过程中出现BLE超时

你好,我试图在ble连接期间作为外设进行加密签名。签名的触发器是onwrite特征。我一直看到的问题是onwrit特征在签名完成后干净地退出,但我立即与0x0A任务或LL2C的原因CO_ERROR_CON_TIMEOUT断开连接。
如果去掉签名,操作照常完成。要在生产环境中进行签名,我必须在之后使用wdg_freeze()和wdg_resume(),因为签名是一个大约9秒的操作。有什么方法可以在我阻塞时发出keepalive请求,以阻止14585超时?

设备:
natebrune
离线
最后看到:2年4天前
加入:2018-08-03 20:50
致那些找到这篇文章的人

致那些在未来找到这篇文章的人。最终,我决定将我的ecdsa符号函数分解成多个更小的函数,特别是标量乘法必须在块中完成,我在块之间GOTO_SLEEP和从user_on_system_powered返回。祝你好运,如果你试图做类似的事情,这是一个痛苦的过程。

PM_Dialog
离线
最后看到:10小时17分钟前
工作人员
加入:2018-02-08 11:03
嗨natebrune,

嗨natebrune,

如果出现CO_ERROR_CON_TIMEOUT超时,则意味着设备已经失去连接,最可能的原因是WDOG过期。看门狗定时器的最大超时时间是2.6秒,如果过期,你将得到一个完整的系统复位或一个不可屏蔽中断(NMI)。将~9秒的操作分解为多个更小的函数是您问题的解决方案,感谢您的指示。另外,请注意,您可以禁用WDOG。请将CFG_WDOG定义检查到da1458x_config_basic.h头文件中。

谢谢,PM_Dialog