调用attmdb_att_设定值后,多久才触发通知或指示

5个员额/0个新员额
最后一篇文章
陆维强
离线
最后一次见到:4年6个月前
加入:2016-04-24 09:39
调用attmdb_att_设定值后,多久才触发通知或指示

各位好,
我的透传应用场景每笔传输的数据量20B但是实时性很高。我将DSPS v_5.150.2的最小连接间隔改为7.5,MTU改为23。串口中断收到数据后立即调用attmdb_att_设定值
现测试:发送和接收短接回环,14580连接手机,手机发20B后监听,收到14580回数据后,做收发时间差记录,大概要59毫秒不能满足要求。能否做到30毫秒以下?
请问,有哪些改进的方向?

调用attmdb_att_设定值后,多久才触发通知或指示这个时间间隔能否缩短,有没有办法立即出发。

设备:
陆维强
离线
最后一次见到:4年6个月前
加入:2016-04-24 09:39
我的手机应用程序没有使用流量控制

我的手机应用程序没有使用流量控制特性,spss_env.tx_flow_en是否应该常为是的,然后立即调用spss_env.tx_flow_en prf_server_send_事件,但是GATTC_发送_EVT_命令这个消息多久处理呢? 理论上讲平均50毫秒多太长了,不知道耗在哪

{
attmdb_att_set_值(spss_env.shdl+spss_IDX_TX_DATA_VAL,sizeof(uint8_t)*参数->长度,(uint8_t*)参数->数据);
如果(spss_环境传输_流量_en)
{
prf_服务器发送事件((prf_env_struct*)和spss_env,false,spss_env.shdl+spss_IDX_TX_数据值);
spss_env.pending_tx_ntf_cmp=true;
spss_env.pending_ntf_cmp++;
}
其他的
{
spss_env.pending_tx=true;
}
}

陆维强
离线
最后一次见到:4年6个月前
加入:2016-04-24 09:39
一个连接间隔

一个连接间隔可以有多少个数据包/连接事件一个数据包/连接事件最多多少字节。连接间隔设置多少合适

陆维强
离线
最后一次见到:4年6个月前
加入:2016-04-24 09:39
我修改了连接间隔貌似不起作用

我修改了连接间隔貌似不起作用。和国际标准化组织手机连接貌似还是30毫秒抓包对比了另一个BLE芯片,他们的就是20毫秒看附件

附件:
MH_对话框(未验证)
你好,魏强,

嗨,W艾强,

网间网操作系统手机的连接间隔幾乎都是30毫秒。有兩種情況會縮短。

1.隐藏的永久性

https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf

2.使用較大的特征長度 和MTU。例如:MTU尺寸=161,特征尺寸长度=158。配合L2CAP连接参数更新请求,有機會縮短連線間隔

谢谢莫里斯