读取长度响应限制为512字节

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
3个帖子/ 0新
最后一篇
米肯
离线
最后一次露面:10个月前1年
加入:2016-07-13 20:06
读取长度响应限制为512字节

你好,

对读取长特征的响应有一个问题。
IT通过读取LONG命令在GATT客户端请求变量的接缝将始终导致GATT服务器(对话框)的数据发送,512字节(在课程的20个字节的块中)。

这里一些代码片段:

#define size_of_data_block 4096 / *这编译得很好,但gatt服务器只会发送前512字节* /

uint8_t datadumpvar [size_of_data_block];


ble_uuid_from_string(“某种uuid-id”,&uuid);
BLE_GATTS_ADD_CHAROURATIC(&UUID,GATT_PROP_READ,ATT_PERM_READ,
size_of_data_block,gatts_flag_char_read_req,null,&custs-> datadump_val_h);


静态void handle_read_req(ble_service_t * svc,const ble_evt_gatts_read_req_t * evt)
{
cust_service_t * cust =(cust_service_t *)svc;
if(evt-> handle == cust-> datadump_val_h){
ble_gatts_read_cfm(evt-> conn_idx,evt->句柄,att_error_ok,size_of_data_block,&datadumpvar [0]);
}
}

- >此代码已被简化以支持问题< -

上面的代码有效,没有错误,没有断开连接,只有512字节的限制得到发送。
编辑:抱歉刚检查过。size_of_data_block 4096.编译但无法在设备上运行。size_of_data_block 512.工作良好

现在我的问题是双重的:
1.定义了512个字节限制在哪里?
有些思想已经进入设置这个限制,问题是,为什么512?如果我增加这个限制,最好是4096,但我猜我猜这是较大的龙,那么龙会面临什么。

谢谢,
罗伯特

关键词:
设备:
mt_dialog.
离线
最后一次露面:3个月1周前
职员
加入:2015-06-08 11:34
嗨myken,

嗨myken,

它在ROM中的BLE堆栈中定义,因为它由BLE规范决定为应为512字节的最大长度,请检查该规范以获取更多信息。

谢谢mt_dialog.

米肯
离线
最后一次露面:10个月前1年
加入:2016-07-13 20:06
谢谢,我害怕那个。

谢谢,我害怕......