FR8016H 芯片,MTU 能支持到多少?
-
使用 ble_simple_peripheral 这个例子程序, 上位机使用 win10, 在 win10 上面通过 winrt 库函数调用 WriteValueWithResultAsync 接口写 Characteristic 的 value。
发现小于等于 20 个字节没问题, 在 FR8016H 的 sp_gatt_msg_handler 回调函数中能看到 写消息。
但是超过 20 字节就没动静了, 我换过多个 上位机调试程序, 都是超过 20 字节就不行了。但是通过 gatt_get_mtu 查看连接的 mtu 协商是正确的 247 字节, 在 win10 上也能看到 mtu 是 247 字节。
-
问题解决了, 我使用的是样例程序中 simple_profile, 写入操作针对下面这个 CHAR2, 在下面定义中其中有个字段
SP_CHAR2_VALUE_LEN 默认值是 20, 修改这个宏定义一下就可以写入大于 20 的数据。// Characteristic 2 Value
[SP_IDX_CHAR2_VALUE] = {
{ UUID_SIZE_16, SP_CHAR2_RX_UUID }, / UUID /
GATT_PROP_READ | GATT_PROP_WRITE, / Permissions /
SP_CHAR2_VALUE_LEN, / Max size of the value /
NULL, / Value of the attribute /