BLE 0x3e HCI_ERROR_CODE_CONN_FAILED_TO_ESTABLISH

简介: BLE 0x3e HCI_ERROR_CODE_CONN_FAILED_TO_ESTABLISH
Master> SCAN_REQ:扫描请求
Master> CONNECT_REQ:连接请求
 
接下来Master(ATM)和Slave(按摩仪)连接交互 LL Control PDU主要用于建立连接后的一些参数设置
0x08  LL_FEATURE_REQ 请求交换 Feature 的交互 5次
0x09 LL_FEATURE_RSP  请求交换 Feature 的交互
0x0C  LL_VERSION_IND 交互 Version
0x00  LL_CONNECTION_UPDATE_IND 更新链接参数
 
connect_req其实是在告诉advertiser,手机将在Transmit Window期间发送第一个同步包(P1)给你,
请在这段时间里把你的射频接收窗口打开。设备B收到P1后,T_IFS时间后将给手机回复数据包P2(ACK包)。
一旦手机收到数据包P2,连接即可认为建立成功。
 
遇到“建立失败”(0x3E)错误:
-------------------------------------------------------------
如果主服务器在发送连接请求后的前6个连接事件中无法接收从服务器发来的数据包,则会发生“建立失败”
(0x3E)错误。 这可能是由许多原因造成的。 以下是几种可能性:  
 
在一个或两个设备上的射频性能不是很好,所以在前6个连接事件中,从机从来没有收到连接请求,或者主机
从来没有收到从机发来的任何数据包。 由于CRC失败、碰撞或设备超出范围,射频性能可能会很差。  
这两种设备都可能存在时间问题。 如果任一设备上的链路层时钟没有运行在32.768kHz(在使用HCI_Ext_SetSCACmd函数设置的公差范围内; 默认值是+/-50ppm),那么定时将关闭,从服务器可能没有在
正确的时间监听主服务器的数据包。  
如果从设备在发布时将白名单过滤策略设置为GAP_FILTER_POLICY_WHITE_CONor GAP_FILTER_POLICY_WHITE,
那么从设备将忽略来自主设备的连接,并继续正常发布。 master将得到0x3E错误,因为它在前6个连接事件
期间没有从slave接收任何数据包。  
 
-------------------------------------------------------------
参考:
https://blog.csdn.net/zhoutaopower/article/details/95938674
https://blog.csdn.net/loosen17/article/details/98629421


相关文章
|
XML 物联网 API
Android Ble蓝牙App(五)数据操作
Android Ble蓝牙App(五)数据操作
2407 0
|
数据安全/隐私保护
公钥和私钥的作用和区别
公钥和私钥的作用和区别
2423 0
|
人工智能 Linux Python
代码自动补全工具——Kite安装教程(以Pycharm为例)及Failed to install PyCharm at path.Plugin configuration directory的解决方案
代码自动补全工具——Kite安装教程(以Pycharm为例)及Failed to install PyCharm at path.Plugin configuration directory的解决方案
代码自动补全工具——Kite安装教程(以Pycharm为例)及Failed to install PyCharm at path.Plugin configuration directory的解决方案
|
物联网 API 数据库
一文带你认识蓝牙 GATT 协议
正所谓磨刀不误砍柴工,我们有必要先深入的学习一下 GATT 以及 GATT 相关的一些知识。 本文我们就来了解一下 蓝牙 GATT 到底是什么?同时了解下我们使用的 ESP32-C3 GATT示例的工程的代码结构。
10202 5
一文带你认识蓝牙 GATT 协议
|
算法 C++ 容器
C++初阶之一篇文章教会你queue和priority_queue(理解使用和模拟实现)(下)
优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的。 此上下文类似于堆,在堆中可以随时插入元素,并且只能检索最大堆元素(优先队列中位于顶部的元素)。 优先队列被实现为容器适配器,容器适配器即将特定容器类封装作为其底层容器
|
机器学习/深度学习 人工智能 自然语言处理
【自然语言处理】自然语言处理NLP概述及应用
自然语言处理(Natural Language Processing,简称NLP)是一门集计算机科学、人工智能以及语言学于一体的交叉学科,致力于让计算机能够理解、解析、生成和处理人类的自然语言。它是人工智能领域的一个关键分支,旨在缩小人与机器之间的交流障碍,使得机器能够更有效地识别并响应人类的自然语言指令或内容。
1167 4
|
数据采集 应用服务中间件 Go
开源的键鼠共享工具「GitHub 热点速览」
开源的键鼠共享工具「GitHub 热点速览」
|
开发工具 git
git将一个远程分支的部分修改提交到另一个远程分支
git将一个远程分支的部分修改提交到另一个远程分支
1641 1
|
传感器 算法 定位技术
卡尔曼滤波的原理、系统模型和C代码
卡尔曼滤波用于陀螺仪加速度计数据融合
|
Linux Shell
26. 【Linux教程】Linux 查看环境变量
26. 【Linux教程】Linux 查看环境变量
1354 1

热门文章

最新文章