亲爱的对话框,
我想知道DA14580在被询问时断开的原因是什么原因。这种情况发生的任何条件或触发器?
我的代码是基于sample128的,它在大多数时间都工作得很好。但有时会发生这个问题——DA14580不能被我的应用程序连接,它报告“外设被询问时断开。”由浅蓝色工具。同时,广告效果很好——广告数据通过传感器检测动态变化。
如果发生这种情况,DA14580永远不会一直连接。让它工作的唯一方法是“断电重置”。重置后,它运行良好。问题很少发生,并且不容易被复制。
是由呼叫断开功能引起的吗?我没有从我的代码中找到它,可能是某个地方或时间问题?到目前为止,我找不到任何线索。请帮忙!
谢谢!
关键词:
你好Alex Luo,
对我来说,这可能是硬件问题/ xtal校准问题。我也有过类似的问题。你使用自己的硬件吗?
谢谢Vesa,
是的,我用自己的硬件。这个问题很少发生,这是我申请的胎儿问题。
我们使用App跟踪连接,看起来连接后DA14580立即断开。我在app_connection_func()中添加了一个LED指示灯,并发现LED灯亮时表示app_env。conidx == gap_inilad_conidx当问题发生时,但我不确定每个询问都是这一点。所以,我想是不是时机不对?如果是,为什么会出现这个问题,直到断电复位才连接?!
顺便说一下,我使用了RC振荡器32.768kHz,而不是XTAL。我还习惯于计时器:app_sample128_timer_handler()(i为应用程序设置为200ms,500ms和2s的计时器),以及app_rtc_timer_handler()(对于1s固定计时器)。亚博国际官网平台网址我不确定是否存在任何冲突或堆栈中的其他计时器。
顺便说一下,代码在大多数情况下工作得很好,但有时会发生这个问题——我没有找到问题在哪里。希望你能给我更多的提示。
谢谢,
你好,亚历克斯,
阅读第7节
如果没有精确地校准,您可能会遇到奇怪的行为
谢谢!
你好Vesa,
谢谢你分享你的经历,我试着去做。由于XTAL和组件的变化,您是否认为修剪每个电路板或使用一个修剪以覆盖所有这些板进行生产?(达到5ppm?)
你能和我分享一下你遇到的问题的现象吗?广告工作得很好,连接从来没有建立,直到重置?如果是这样,问题是通过削减Xtal?
你认为固件有问题吗?
非常感谢,
嗨,亚历克斯,
我猜一个修剪应该覆盖所有板,但是,可能存在一些变化。
对我来说,错误的校准导致广告有时候“消失”,并且设备函数一般不正确。经营它是不可能的。问题是修复了我修剪XTAL,也改变了一点HW设计。如果频率不正确,则生成的RF信号处于错误的频率区。
当您校准XTAL时,您也可能注意到一些漂移。
不能说,如果固件有什么问题。
坦克vesa,
我会尽量听从你的建议,同时也会从f/w挖出更多。有趣的是,所有的问题都发生在更新广告数据时(需要app_adv_stop和app_adv_start…)
谢谢,
亚历克斯
你好,
您可能希望仔细检查您不访问错误的内存地址,以及您的adv数据包有效。尝试用十六进制打印出来。
嗨视频电子设备标准协会,
似乎很难找到问题的根源在哪里。问题可能在运行数百次后不会发生,我想知道是什么触发了它。很奇怪,在问题发生后,连接永远无法恢复,而广告工作得很好。我不知道是否有任何冲突后调用app_adv_stop,然后调用app_adv_start()非常接近-我可以找到更多的信息。你有使用add_adv_stop()和add_adv_start()的经验吗?我在app_rtc_timer_handler()中更新了我的广告数据之后使用了它们——这是我为RTC创建的(1sec/step)。希望你能在那里找到一些东西,让我知道。
谢谢,
我有同样的问题,我使用5V电源,当我将它换成3.3V时,一切都很好!希望这件事有帮助!
你好崔金飞,
DA14580工作电压高达3.6V,芯片不能正常工作5V。所以,使用3.3V是对的。
嗨对话框,
我遇到了与亚历克斯相同的问题。DA14580保持广告,但不能再连接。出现问题后,它将始终存在,唯一的恢复操作是重新启动芯片。
在使用iPhone时遇到问题时,我收到了空中日志。但问题也存在于Android。从日志中,在LLCP版本交换机之后发生断开连接,从DA14580没有响应。问题并不容易重现但存在。
对话有助于列出一些各种原因吗?这对我来说是一个紧急的虫子,有人可以帮忙吗?十分感谢。
致以最亲切的问候
安妮
嗨angelforest,
设备是否自己断开连接,然后无法重新连接?您的连接是否使用任何安全性,也许存在问题。当您发出连接请求时,您可以告诉DA获取连接请求(在调试模式下)。你能用嗅探器吗?为了看空气中的内容?
谢谢mt_dialog.
嗨MT_dialog,
1.问题:设备是否通过自己断开连接,然后您无法重新连接?
答:我不确定断开连接是由设备或主机引起的。但是无法再次建立连接,直到重置DA14580。
2.问:您的连接是否使用任何安全性?
是的。我们的产品涉及HID和ANCS配置文件。
/ / 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
嗨angelforest,
不,据我所知没有这样的问题,如果设备可以建立第一次连接,但不能重新连接,那一定是在第二次连接中密钥交换过程,可能密钥没有正确存储或暴露。在重连接过程中使用不同的处理程序,您可以在键盘参考设计中查看,以查看正确的HID连接。
谢谢mt_dialog.