亲爱的对话框,
我想知道DA14580在被询问时断开的原因是什么原因。这种情况发生的任何条件或触发器?
我的代码基于Sample128,大部分时间都适用于很好。但有时会发生这个问题 - DA14580无法通过我的应用连接,并且它报告了“在被询问时断开连接。”通过浅蓝色工具。同时,广告效果很好 - 广告数据通过传感器检测动态地改变。
如果发生这种情况,DA14580永远不会一直连接。让它工作的唯一方法是“断电重置”。重置后,它运行良好。问题确实很少发生,而且不容易被复制。
是由呼叫断开功能引起的吗?我没有从我的代码中找到它,可能是某个地方或时间问题?到目前为止,我找不到任何线索。请帮忙!
谢谢!
关键词:
你好Alex Luo,
对我来说听起来可能是一个硬件问题/ XTAL校准问题。我有类似的问题。你用自己的硬件吗?
谢谢Vesa,
是的,我用自己的硬件。问题很少发生,这是我申请的胎儿问题。
我们使用了应用程序来跟踪连接,它看起来立即连接DA14580后。我在app_connection_func()中添加了一个LED指示灯,并找到了当问题发生时app_env.conidx == gap_invilad_conidx的LED指示灯,但我不确定每次询问都会发生这种点。那么,我想知道时间有什么问题吗?如果是这样,为什么出现问题,直到电源关闭重置直到电源?!
顺便说一下,我使用了RC振荡器32.768kHz,而不是xtal。我还习惯于计时器:app_sample128_timer_handler()(i为200ms,500ms和2s for applications的计时器设置),以及app_rtc_timer_handler()(对雷竞技安卓下载于1s固定计时器)。我不确定是否有冲突或堆栈中的其他计时器。
顺便说一下,代码对大多数时候工作非常好,但有时这个问题发生了 - 我没有找到问题所在。希望你能给我更多的线索。
谢谢,
你好亚历克斯,
仔细阅读第7节
如果它没有准确地校准,您可能会遇到奇怪的行为
谢谢!
你好Vesa,
谢谢你分享你的经历,我试着去做。由于XTAL和组件的变化,您是否认为修剪每个板或使用一个修剪以覆盖所有这些用于生产的板?(达到5ppm?)
你能与我分享你满足问题的现象吗?广告运行良好,连接直到重置直到重置?如果是这样,问题是通过修剪XTAL来修复的?
你认为固件有什么不对吗?
非常感谢,
嗨,亚历克斯,
我猜一个修剪应该覆盖所有板,但是,可能存在一些变化。
对我来说,错误的校准导致广告有时候“消失”,并且设备功能不正确。经营它是不可能的。问题是修复了我修剪XTAL,也改变了HW设计一点。如果频率不正确,则所生成的RF信号处于错误的频率区。
当您校准XTAL时,您也可能会注意到一些漂移。
不能说,如果固件有什么问题。
坦克vesa,
我会尽力遵循您的建议,同时从F / W中挖掘更多信息。有趣的是,在更新广告数据时发生了所有问题(需要app_adv_stop和app_adv_start ...)
谢谢,
亚历克斯
你好,
您可能希望仔细检查您不访问错误的内存地址,以及您的ADV数据包有效。尝试用十六进制打印出来。
嗨Vesa,
似乎太难以找到问题的根源。运行数百次后,问题可能不会发生,我想知道什么触发它。非常奇怪的连接在问题发生后从未恢复过,广告工作得很好。我不知道在调用app_adv_stop之后是否存在任何冲突,然后调用app_adv_start()非常关闭 - 我可以找到更多关于它的信息。您是否在使用add_adv_stop()和add_adv_start()有任何经验?我在app_rtc_timer_handler()中更新的广告数据后使用了那些 - 我为RTC使用创建了(1SEC /步骤)。希望你能在那里找到一些东西,让我知道。
谢谢,
我有同样的问题,我使用5V电源,当我将它换成3.3V时,一切都很好!希望这件事!
你好崔金飞,
DA14580工作电压高达3.6V,芯片无法正常工作5V。所以,使用3.3V是对的。
嗨对话框,
我遇到了与亚历克斯相同的问题。DA14580保持广告,但不能再连接。出现问题后,它将始终存在,唯一的恢复操作是重新启动芯片。
在使用iPhone时遇到问题时,我收到了空中日志。但问题也存在于Android。从日志中,在LLCP版本交换之后断开连接,没有DA14580的响应。问题并不容易重现但存在。
对话有助于列出一些各种原因吗?这对我来说是一个紧迫的虫子,有人可以帮忙吗?十分感谢。
此致
安吉
嗨angelforest,
设备是否已自行断开连接,然后您无法重新连接?您的连接是否使用任何安全性,也许有些东西出现问题。当您发出连接请求时,您可以告诉DA获取连接请求(在调试模式下)。你能用嗅探器吗?为了看空气中的内容?
谢谢mt_dialog.
嗨mt_dialog,
1.问题:设备由自己断开连接,然后您无法重新连接?
答:我不确定断开连接是由设备或主机引起的。但是无法再次建立连接,直到重置DA14580。
2.问:您的连接是否使用任何安全性?
答:是的。我们的产品涉及HID和ANC的配置文件。
// IO能力
cfm-> data.pairing_feat.iocap = gap_cap_no_input_no_output;
//身份验证要求
cfm-> data.pairing_feat.auth = gap_auth_req_no_mitm_bond;
//安全要求
// HID设备应使用LE安全模式1和安全级别2或3。
//我们在这里使用模式1,级别2
cfm-> data.pairing_feat.sec_req = gap_sec1_noauth_pair_enc;
3.问:你能用嗅探器吗?为了看看空中有什么?
答:我用了一个嗅探器。根据捕获,在LLCP版本交换后始终出现断开连接。每次用6尝试时,主站发送LLCP_VERSION(OPCODE:ll_version_ind),但没有从DA14580的响应。然后在大约350ms后,嗅探器显示我们的设备转回“可连接状态”。
你以前见过这个吗?是由安全设置引起的吗?谢谢你。
布尔
令人惊艳
嗨angelforest,
不,据我所知,如果没有这样的问题,如果设备可以建立第一个连接而不是重新连接,它必须是第二连接中的关键交换过程,也许键不会正确存储或暴露。在重新连接期间使用不同的处理程序,您可以看看键盘参考设计,以便看到适当的HID连接。
谢谢mt_dialog.