[应用相关] BlueNRG-1,2 characteristic value size 区别

[复制链接]
 楼主| probedog 发表于 2021-2-10 18:28 | 显示全部楼层 |阅读模式
我在 ST 的官方例程看到两个透传 demo:BLE_Throughput 和 BLE_Throughput_EXT
BLE_Throughput 程序说明里有一句话:The maximum length of the characteristic value is 20 bytes.
BLE_Throughput_EXT 仅支持 BlueNRG-2,程序说明:the ATT MTU size up to 247 bytes and data length extension feature

我用的是 BlueNRG-1,做如下设置修改
TXCharHandle, RXCharHandle 的 Char_Value_Length 改为 100;
aci_gatt_add_char(uartServHandle, UUID_TYPE_128, &char_uuid, 100, CHAR_PROP_NOTIFY, ATTR_PERMISSION_NONE, GATT_DONT_NOTIFY_EVENTS, 16, 1, &TXCharHandle);
aci_gatt_add_char(uartServHandle, UUID_TYPE_128, &char_uuid, 100, CHAR_PROP_WRITE | CHAR_PROP_WRITE_WITHOUT_RESP, ATTR_PERMISSION_NONE, GATT_NOTIFY_ATTRIBUTE_WRITE, 16, 1, &RXCharHandle);
ATT_VALUE_ARRAY_SIZE 增加了 320 Bytes;

再在 aci_gatt_attribute_modified_event 事件里添加 测试代码,只要有接收就向 client 发送字符串常量。
static char str[100] = "This is a const string!";
aci_gatt_update_char_value_ext(connection_handle, uartServHandle, TXCharHandle, 1, (uint16_t)strlen(str), 0, strlen(str), (uint8_t *)str);

我用手机蓝牙助手测试,只能接收字符串前 24 Bytes
BlueNRG-1 真的只能支持 20 Bytes 吗?不然为什么 BLE_Throughput_EXT 仅支持 BlueNRG-2?

说明:20 Bytes 以内的数据传输目前没有发现任何问题
两只袜子 发表于 2021-2-10 18:29 | 显示全部楼层

是不是和这个地方有关?

134051c1xyxbnznggofy1g.png.thumb.jpg



134120jdpkk0uzmx1kf2if.png.thumb.jpg


jcky001 发表于 2021-2-10 18:32 | 显示全部楼层
这个我之前也看到了,说实话我不知道这句话是啥意思。

我去找找其他资料看看有没有关于 BlueNRG-1 数据长度限制的说明
keaibukelian 发表于 2021-3-3 07:37 | 显示全部楼层
到底什么叫做透传啊
labasi 发表于 2021-3-3 07:38 | 显示全部楼层
只是说限制了 但是没有具体数据啊
paotangsan 发表于 2021-3-3 07:39 | 显示全部楼层
这个字节数太少了啊
wakayi 发表于 2021-3-3 07:42 | 显示全部楼层
两代不一样 是吧
renzheshengui 发表于 2021-3-3 07:44 | 显示全部楼层
其他手册上有没有涉及啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

486

主题

3268

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部

486

主题

3268

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部