Hi,
定义了数据接收的大小是255,然后与hello_sensor建立链接,hello_sensor发送的数据改成了"HelloHelloHelloHelloHelloHello 0"(数据长度大于20)
建立链接的时候,hello_sensor按键会发送"HelloHelloHelloHelloHelloHello 0"的数据,但我发现我这边只能收到20长度的数据。 请问什么地方会影响这个收数据的长度?
已解决! 转到解答。
需要在client端调用下面的API配置MTU size,我这边测试可以正常配置的。
wiced_bt_gatt_status_t wiced_bt_gatt_configure_mtu (uint16_t conn_id, uint16_t mtu);
在hello sensor的发送端也需要修改包的长度。
改过了,hello sensor那边改成30byte左右,但是最大能收到的还是20byte左右
这个问题请尽快确认一下,你们也可以用hello_sensor和hello_client的demo测试。看看有没有这个问题
这个问题有更新吗
需要在client端调用下面的API配置MTU size,我这边测试可以正常配置的。
wiced_bt_gatt_status_t wiced_bt_gatt_configure_mtu (uint16_t conn_id, uint16_t mtu);
这个配置只能在connection up上了以后进行设置吗?能不能提前设置?比如说在还没有链接之前,初始化的时候就设置好?
只能在连接之后进行设置,而且需要根据connection id进行配置。
我明白需要用connection id的,比如说我只支持5个最大的链接,我可不可以在初始化的时候就按如下设置好?这个设置是只能有了connection以后才可以设置。对吧?
wiced_bt_gatt_status_t wiced_bt_gatt_configure_mtu (1, 255);
wiced_bt_gatt_status_t wiced_bt_gatt_configure_mtu (2, 255);
…
wiced_bt_gatt_status_t wiced_bt_gatt_configure_mtu (5, 255);
不可以的,这个参数只能在连接之后进行配置,而且需要等到对端确认之后才能生效。