in gapc_disconnect_ind_handler at app_task.c when the central disconnect我检查了app任务的状态,它是APP_DISABLED。我搜索了项目,没有找到代码设置状态的地方。那么我该怎么定位问题呢?< / p > < / div > < / div > < / div > < div class =”字段field-name-field-forum-keywords field-type-taxonomy-term-reference field-label-above”> < div class = "字段标签" >关键词:,< / div > < div class = "字段条目" > < div class =”field-item甚至“> < a href = " / resource-keywords / da14531”“=“skos:概念”属性=“rdfs: label skos: prefLabel”数据类型= " " > da14531 < / > < / div > < div class = " field-item古怪”> < a href = " / resource-keywords /断开”“=“skos:概念”属性=“rdfs: label skos: prefLabel”数据类型= " " >断开< / > < / div > < div class =”field-item甚至“> < a href = " / resource-keywords / apptask”“=“skos:概念”属性=“rdfs: label skos: prefLabel”数据类型= " " > APP_TASK < / > < / div > < / div > < / div > < div class =”字段field-name-field-device field-type-taxonomy-term-reference field-label-above”> < div class = "字段标签" >设备:,< / div > < div class = "字段条目" > < div class =”field-item甚至“> < a href = " / forum-post-device / da14531”“=“skos:概念”属性=“rdfs: label skos: prefLabel” datatype="">DA14531
从iOS发出连接请求(connection request)。< br / > 2。外设发出连接请求指示。< br / > 3。从外设发出断开进程。
在iOS 9中,它将被标识为断开连接,并立即断开。
但是,iOS 10将其识别为超时,并需要时间来断开连接。
这是iOS的问题吗?
外围有问题吗?< / p > < p >静态int gapc_connection_req_ind_handler (ke_msg_id_t const是否,< br / > struct gapc_connection_req_ind const *参数,< br / > ke_task_id_t const dest_id, < br / > ke_task_id_t const src_id) < br / > {< br / > uint8_t connection_idx = KE_IDX_GET (src_id); < / p > < p > / / iOS 9将确定为立即断开连接和断开连接。
//但是,iOS 10将其识别为超时,并需要时间来断开连接。< br / > app_easy_gap_disconnect (connection_idx); < / p > < p >返回(KE_MSG_CONSUMED); < br / >} < / p > < / div > < / div > < / div > < div class =”字段field-name-field-forum-keywords field-type-taxonomy-term-reference field-label-above”> < div class = "字段标签" >关键词:,< / div > < div class = "字段条目" > < div class =”field-item甚至“> < a href = " / resource-keywords / ios10”typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">iOS10
我想可能是由于连接间隔时间过长,单板无法传输所有的采样数据。这是它断开的原因吗?为什么它在wrap_platform_reset中停止?谢谢。< / p > < / div > < / div > < / div > < div class =”字段field-name-field-forum-keywords field-type-taxonomy-term-reference field-label-above”> < div class = "字段标签" >关键词:,< / div > < div class = "字段条目" > < div class =”field-item甚至“> < a href = " / resource-keywords / connection-interval”“=“skos:概念”属性=“rdfs: label skos: prefLabel” datatype="">connection interval
当Android应用程序连接或从583断开时,我正在切换LED。我能够得到正确的连接部分和LED继续。但是,如果Android应用程序启动了disconnect, custs1_task.c会消耗GAPC_DISCONNECT_IND消息,并且它永远不会弹出到user_barebone.c中的user_app_disconnect方法
是否有可能让user_app_disconnect也接收到这个消息?
注释掉“return (KE_MSG_CONSUMED)”没有帮助
你能告诉我我在这里可能做错了什么吗?谢谢! < br / >关键词:< / p > < / div > < / div > < / div > < div class =”字段field-name-field-forum-keywords field-type-taxonomy-term-reference field-label-above”> < div class = "字段标签" >关键词:,< / div > < div class = "字段条目" > < div class =”field-item甚至“> < a href = " / resource-keywords / da14583”“=“skos:概念”属性=“rdfs: label skos: prefLabel”数据类型= " " > DA14583 < / > < / div > < div class = " field-item古怪”> < a href = " / resource-keywords /缺口”“=“skos:概念”属性=“rdfs: label skos: prefLabel”数据类型= " " >空白< / > < / div > < div class =”field-item甚至“> < a href = " / resource-keywords /断开”“=“skos:概念”属性=“rdfs: label skos: prefLabel”数据类型= " " >断开< / > < / div > < / div > < / div > < divclass="field field-name-field-device field-type-taxonomy-term-reference field-label-above">
中心与外围的距离约为6米。在我的环境中没有无线电波干扰。在我的测试代码中,central每50ms发送一个23字节长度的包。
在许多情况下,外设用空包响应ACK。
但是外围设备在从中央发送数据包后不会突然发送任何响应。
此时,中央继续发送相同的数据包(重试)。最后,他们断开连接,因为中心从来没有收到任何外设的数据包。
本例中,外设的BLE栈(GAPC)发送错误"0x3D(CONNECTION TERMINATED DUE MIC FAILURE)"。
请帮我找出断开的原因,以及如何提高连接的稳定性。
这里是我的环境的详细信息。
[SDK]
3.0.10.1
[BLE setting]
WinSize:02
WinOffset:0x0002
Interval:0x0006
Latency:0x0000
Timeout:0x0048
ChM:0x1FFFFFFFFF
SCA:0x00
Encryption is enable。
Using MIDI over bluetooth protocol
我知道可能我们可以监听GAPC_CON_RSSI_IND消息并手动断开连接。我们是否可以在init BLE堆栈时设置一个值并让它自动断开?< / p > < p >谢谢,< / p > < / div > < / div > < / div > < div class =”字段field-name-field-forum-keywords field-type-taxonomy-term-reference field-label-above”> < div class = "字段标签" >关键词:,< / div > < div class = "字段条目" > < div class =”field-item甚至“> < a href = " / resource-keywords / rssi”“=“skos:概念”属性=“rdfs: label skos: prefLabel”数据类型= " " > RSSI < / > < / div > < div class = " field-item古怪”> < a href = " / resource-keywords /断开”“=“skos:概念”属性=“rdfs: label skos: prefLabel”数据类型= " " >断开< / > < / div > < / div > < / div > < div class =”字段field-name-field-device field-type-taxonomy-term-reference field-label-above”> < div class = "字段标签" >设备:< / div > < divclass="field-items">
.Hi,
I guess,有效负载由3个字节组成,前两个是连接句柄(文档中没有),第三个是原因(文档中有记录)。
参见gapc_task.h中的struct gapc_disconnect_cmd。< / p > < p >欢呼,迈克尔< br / > < / p > < / div > < / div > < / div > < div class =”字段field-name-field-forum-keywords field-type-taxonomy-term-reference field-label-above”> < div class = "字段标签" >关键词:,< / div > < div class = "字段条目" > < div class =”field-item甚至“> < a href = " / resource-keywords / doc”“=“skos:概念”属性=“rdfs: label skos: prefLabel”博士数据类型= " " > < / > < / div > < div class = " field-item古怪”> < a href = " / resource-keywords /错误”“=“skos:概念”属性=“rdfs: label skos: prefLabel”数据类型= " " >误差< / > < / div > < div class =”field-item甚至“> < a href = " / resource-keywords / gapc”“=“skos:概念”属性=“rdfs: label skos: prefLabel”数据类型= " " > gapc < / > < / div > < div class = " field-itemodd">disconnect