跳到主要内容

问:DA14580在被询问时断开了什么原因,但广告工作得很好

6年前

问:DA14580在被询问时断开了什么原因,但广告工作得很好

发布的亚历克斯·罗0分 14日回复
0的问题

亲爱的对话框,

我想知道为什么DA14580在被审问时被断开。这种情况的发生有任何条件或诱因吗?

我的代码基于Sample128,大部分时间都适用于很好。但有时会发生这个问题 - DA14580无法通过我的应用连接,并且它报告了“在被询问时断开连接。”通过浅蓝色工具。同时,广告效果很好 - 广告数据通过传感器检测动态地改变。

如果发生这种情况,DA14580永远不会被连接。让它工作的唯一方法是“断电复位”。复位后工作正常。这个问题很少发生,也不容易被复制。

是由调用断开连接函数引起的吗?我没有从我的代码中找到它,可能是某个地方或时间问题?到目前为止,我还没有找到任何线索。请帮助!

谢谢!

6年前

VesaN 0分

你好亚历克斯·罗

对我来说听起来可能是一个硬件问题/ XTAL校准问题。我有类似的问题。你用自己的硬件吗?

6年前

亚历克斯·罗 0分

由于视频电子设备标准协会,

是的,我用的是自己的硬件。这个问题很少发生,对于我的申请来说是胎儿问题。

我们使用了应用程序来跟踪连接,它看起来立即连接DA14580后。我在app_connection_func()中添加了一个LED指示灯,并找到了当问题发生时app_env.conidx == gap_invilad_conidx的LED指示灯,但我不确定每次询问都会发生这种点。那么,我想知道时间有什么问题吗?如果是这样,为什么出现问题,直到电源关闭重置直到电源?!
顺便说一下,我用RC振荡器32.768KHz,而不是Xtal。我还使用过定时器函数:app_sample128_timer_handler()(我为应用程序设置了200毫秒、500毫秒和2s的定时器)和app_rtc_timer_handler()(为1s的固定定时器)。雷竞技安卓下载我不确定是否有任何冲突或与堆栈中的其他计时器。

顺便说一下,代码对大多数时候工作非常好,但有时这个问题发生了 - 我没有找到问题所在。希望你能给我更多的线索。

谢谢,

6年前

VesaN 0分

你好,亚历克斯,

阅读第7部分。小心翼翼地

如果它没有准确地校准,您可能会遇到奇怪的行为

谢谢!

6年前

亚历克斯·罗 0分

你好,视频电子设备标准协会,

谢谢你分享你的经验,我试着去做。由于xtal和组件的变化,你认为是对每一块板进行修整,还是使用一次修整来覆盖所有用于生产的板?(达到5 ppm ?)

你能与我分享你满足问题的现象吗?广告运行良好,连接直到重置直到重置?如果是这样,问题是通过修剪XTAL来修复的?

你认为固件有什么不对吗?

非常感谢,

6年前

VesaN 0分

嗨,亚历克斯,

我想一个修剪应该涵盖所有的板,然而,可能有一些变化。

对我来说,错误的校准有时会导致广告“消失”,一般情况下会导致设备功能错误。那是不可能操作的。这个问题已经修复了,我对xtal进行了微调,也对HW的设计做了一些改变。如果频率不正确,则产生的射频信号在错误的频率区域。

当你校准xtal时,你可能也会注意到一些漂移。

不能确定固件是否有问题。

6年前

亚历克斯·罗 0分

坦克视频电子设备标准协会,

我会尽力遵循您的建议,同时从F / W中挖掘更多信息。有趣的是,在更新广告数据时发生了所有问题(需要app_adv_stop和app_adv_start ...)

谢谢,
亚历克斯

6年前

VesaN 0分

你好,

您可能需要再次检查您没有访问错误的内存地址,并且您的adv包是有效的。试着用十六进制打印出来。

6年前

亚历克斯·罗 0分

嗨Vesa,

似乎太难以找到问题的根源。运行数百次后,问题可能不会发生,我想知道什么触发它。非常奇怪的连接在问题发生后从未恢复过,广告工作得很好。我不知道在调用app_adv_stop之后是否存在任何冲突,然后调用app_adv_start()非常关闭 - 我可以找到更多关于它的信息。您是否在使用add_adv_stop()和add_adv_start()有任何经验?我在app_rtc_timer_handler()中更新的广告数据后使用了那些 - 我为RTC使用创建了(1SEC /步骤)。希望你能在那里找到一些东西,让我知道。

谢谢,

6年前

崔金飞 0分

我也有同样的问题,我用的是5V电源,当我把它换成3.3v时,一切都很好!希望这次的帮助!

6年前

亚历克斯·罗 0分

你好cuijinfei,

DA14580工作电压高达3.6V,芯片在5V下无法正常工作。所以,使用3.3V是正确的。

5年前

angelforest 0分

嗨,对话框中,

我遇到了和亚历克斯一样的问题。DA14580一直在发布,但无法连接。一旦问题发生,它就会一直存在,唯一的恢复操作是重新启动芯片。

当我在使用iPhone时遇到问题,我得到了空气日志。但Android也存在这个问题。从日志中可以看出,LLCP版本交换后断开连接,没有来自DA14580的响应。这个问题不容易重现,但确实存在。

Dialog能帮我列出一些可能的原因吗?我有急事,谁能帮个忙吗?非常感谢。

此致

安吉

5年前

MT_dialog -30点

嗨angelforest,

设备是否已自行断开连接,然后您无法重新连接?您的连接是否使用任何安全性,也许有些东西出现问题。当您发出连接请求时,您可以告诉DA获取连接请求(在调试模式下)。你能用嗅探器吗?为了看空气中的内容?

由于MT_dialog

5年前

angelforest 0分

嗨mt_dialog,

1.问题:设备是否自己断开连接,然后无法重新连接?
答:我不确定是设备或主机造成的。但是在重置DA14580之前,无法再次建立连接。

2.问:您的连接使用任何安全措施吗?
答:是的。我们的产品涉及HID和ANC的配置文件。
// IO能力
cfm - > data.pairing_feat。iocap = GAP_IO_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.问:你能用嗅探器吗?为了看看空中有什么?
A:我用了嗅探器。根据捕获,断开连接总是出现在LLCP版本交换之后。主服务器每次发送LLCP_Version(操作码:LL_VERSION_IND),尝试6次,但没有来自DA14580的响应。大约350毫秒后,嗅探器显示我们的设备恢复到“可连接状态”。

你以前见过这个吗?这是安全设置造成的吗?谢谢你!

BR

令人惊艳

5年前

MT_dialog -30点

嗨angelforest,

不,据我所知没有这样的问题,如果设备可以建立第一次连接,但不能重新连接,那一定是在第二次连接中密钥交换过程,可能密钥没有正确存储或暴露。在重连接过程中使用不同的处理程序,您可以在键盘参考设计中查看,以查看正确的HID连接。

由于MT_dialog