亲爱的Dialog,
我想知道为什么DA14580在被审问时断开连接。发生这种情况的任何条件或触发因素?
我的代码是基于sample128的,它在大多数情况下都运行良好。但有时会出现这样的问题——我的应用程序无法连接DA14580,而浅蓝色工具会报告“被询问时外设断开”。同时,广告效果也很好——通过传感器检测广告数据的动态变化。
如果发生这种情况,DA14580将永远无法连接。唯一让它工作的方法是“掉电复位”。复位后,工作正常。这个问题很少发生,也不容易重现。
是调用断开连接函数引起的吗?我没有从我的代码中找到它,可能是某个地方或时间问题?到目前为止,我找不到任何线索。请帮帮我!
谢谢!
关键词:
你好,Alex Luo,
在我看来,这可能是硬件问题/xtal校准问题。我也遇到过类似的问题。你用自己的硬件吗?
谢谢你,维萨,
是的,我用的是我自己的硬件。这个问题很少发生,这对我的申请来说是个问题。
我们用我们的应用程序跟踪连接,看起来连接后DA14580立即断开。我在app\u connection\u func()中添加了一个LED指示灯,发现LED指示灯亮起表示app_环境conidx==GAP\u INVILAD\u CONIDX当问题发生时,但我不确定每次审问都进行到这一点。所以,我想知道是不是时机不对?如果是这样的话,为什么会出现这个问题,在掉电复位之前永远不会建立连接?!
顺便说一下,我用了32.768KHz的RC振荡器,而不是Xtal。我还使用了计时器函数:app\u sample128\u timer\u handler()(我为应用程序设置了200ms、500ms和2s的计时器),以及app\u rtc\u timer\u handler()(为1s的固定计时器)。我不确定是否有任何冲突或与雷竞技安卓下载堆栈中的其他计时器。
顺便说一句,代码在大多数情况下都运行得很好,但有时会出现这个问题——我没有找到问题所在。希望你能给我更多的线索。
谢谢,
你好,亚历克斯,
阅读第7节。小心
如果没有精确校准,您可能会遇到奇怪的行为
谢谢!
你好,维萨,
谢谢你分享你的经验,我也试着去做。由于xtal和组件的变化,您认为是修剪每一块板还是用一次修剪覆盖所有这些板进行生产?(达到下午5点?)
你能跟我说说你遇到的问题吗?广告效果很好,在重置之前从未建立连接?如果是这样,问题是通过修剪Xtal来解决的?
你认为固件有问题吗?
谢谢,
嗨,亚历克斯,
我想一个修剪应该涵盖所有董事会,然而,可能有一些变化。
对我来说,错误的校准导致广告有时“消失”和设备功能不正确的一般。操作它是不可能的。这个问题是修复我修剪的xtal,也改变了硬件设计一点。如果频率不正确,则生成的射频信号位于错误的频率区域。
在校准xtal时,您可能还会注意到一些漂移。
不能说固件有什么问题。
维萨坦克,
我会尽量听从你的建议,同时从f/w中挖掘更多。有趣的是,所有的问题都发生在更新广告数据时(需要app\u adv\u stop和app\u adv\u start…)
谢谢,
亚历克斯
你好,
您可能需要再次检查是否访问了错误的内存地址,以及adv数据包是否有效。试着用十六进制打印出来。
你好,维萨,
似乎很难找到问题的根源。这个问题可能不会发生后,运行数百次,我想知道是什么触发它。奇怪的是,问题发生后,连接就再也没有恢复,广告效果也很好。我不知道在调用app\u adv\u stop然后很近距离地调用app\u adv\u start()之后是否有任何冲突--我可以找到有关它的更多信息。您有使用add\u adv\u stop()和add\u adv\u start()的经验吗?我在app\u rtc\u timer\u handler()中更新了广告数据之后使用了这些工具,我创建了app\u rtc\timer\u handler(),以供rtc使用(1秒/步)。希望你能在那里找到一些东西,让我知道。
谢谢,
我也有同样的问题,我用5V电源,当我把它改成3.3v时,一切都很好!希望这个帮助
崔金飞你好,
DA14580工作电压高达3.6V,芯片在5V时不能正常工作,所以使用3.3V是正确的。
嗨,对话,
我遇到了和亚历克斯一样的问题。DA14580保持广告,但不能再连接。一旦问题发生,它就会一直存在,唯一的恢复操作就是重新启动芯片。
当我使用iPhone时遇到问题,我得到了air日志。但Android也存在这个问题。从日志中可以看出,LLCP版本交换后发生断开,DA14580没有响应。这个问题不容易重现,但确实存在。
对话能不能列出一些可能的原因?这是我的紧急窃听器,有人能帮我个忙吗?非常感谢。
致以最诚挚的问候
安吉
嗨,安吉尔森林,
是设备本身断开连接,然后您无法重新连接吗?你的连接是否使用了安全措施,可能出了问题。当你发出连接请求时,你能告诉da收到连接请求(在调试模式下)。你能用嗅探器看看空气中有什么吗?
谢谢你的对话
嗨,MT\u dialog,
1问题:设备是否自行断开连接,然后无法重新连接?
答:我不确定断开连接是由设备或主机引起的。但在重置DA14580之前,无法再次建立连接。
2问:您的连接是否使用任何安全措施?
A:是的。我们的产品包括HID和ANCS型材。
//IO功能
cfm->data.u专长.iocap=间隙\u IO\u CAP\u NO\u输入\u NO\u输出;
//身份验证要求
cfm->data.u专长.auth=GAP\u auth\u REQ\u NO\u MITM\u BOND(间隙\u认证\u不需要最小保证);
//安全要求
//HID设备应使用LE安全模式1和安全级别2或3。
//这里我们使用模式1,级别2
cfm->data.u专长.sec_req=GAP_SEC1_NOAUTH_PAIR_ENC;
三。问:你能用嗅探器来观察空气中的东西吗?
我用了嗅探器。根据捕获,在LLCP版本交换之后总是出现断开连接。主机每次发送LLCP\u版本(操作码:LL\u Version\u IND),尝试6次,但DA14580没有响应。大约350毫秒后,嗅探器显示我们的设备回到“可连接状态”。
你以前见过这个吗?这是由安全设置引起的吗?非常感谢。
比尔
天使森林
嗨,安吉尔森林,
不,据我所知不存在这样的问题,如果设备可以建立第一个连接,但不能重新连接,则必须是第二个连接中的密钥交换过程,可能密钥没有正确存储或公开。在重新连接期间使用不同的处理程序,您可以查看键盘参考设计,以查看正确的HID连接。
谢谢你的对话