你好,
有一个问题关于读长特征的响应。
接缝,请求一个变量通过读长命令在关贸总协定客户端总是导致关贸总协定服务器发送的数据(对话框)的512个字节(20字节的块)。
这里一些代码片段:
#定义SIZE_OF_DATA_BLOCK 4096 / *编译好,但512年关贸总协定服务器将只发送第一个字节* /uint8_t DataDumpVar [SIZE_OF_DATA_BLOCK];
ble_uuid_from_string (“SOME-UUID-ID”, uuid);
ble_gatts_add_characteristic (uuid, GATT_PROP_READ ATT_PERM_READ,
SIZE_OF_DATA_BLOCK GATTS_FLAG_CHAR_READ_REQ, NULL, &custs - > DataDump_val_h);
静态孔隙handle_read_req (ble_service_t * svc, const ble_evt_gatts_read_req_t * evt)
{
svc cust_service_t * cust = (cust_service_t *);
如果(evt - >处理= = 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字节限制定义在哪里?
2。一些人认为进入设置限制,问题是,为什么是512年?龙我的脸是什么如果我增加这一限制,最好是到4096年,但是我想限制越大越大龙。
谢谢,
罗伯特。
嗨Myken,
BLE堆栈中定义在罗,因为它是由BLE规范作为一个属性的最大长度应该是512字节长度,请检查规范的更多信息。
由于MT_dialog
谢谢,我怕....