你好,我最近在将我的14580工程移植到14531上,目前发现一个问题,DA14531的MTU需要修改哪些内容才能正确完成呢?我按照14580的修改方式,修改了user_config.h中的.max_mtu = 67, //***+3; .max_txoctets = 251,;.max_txtime = 2120,;da1458x_config_advanced.h中的CFG_MAX_TX_PACKET_LENGTH,CFG_MAX_RX_PACKET_LENGTH也均设置为251;可是我实测发现当我想通过ble调试软件写入cmd至da14531时,仍然最大只能写入20字节数据,我还应该修改哪些?
Hi Comprends,
您好!感谢提问。
手机app端通过蓝牙与DA14531进行数据读写时,两者的MTU大小要匹配,如果不一样的话会选择两者之中的最小值进行传输。
在设置DA14531 MTU Size的同时,也请查看APP端的相关参数设置。
BR
Martin
您好,我确认手机端没有问题,因为我用原来DA14580的工程是正常的,现在应该是DA14531的工程里没有修改成功,是否除了我上述提到的那些 还有其他地方需要同步修改呢?并且我修改定义了#define DEF_SVC1_SDA_WRITE_CHAR_LEN 67 回传的indicate数据也是对的,就是发送出去的数据只能是20字节
可以参考在函数中
static const struct gamp_configuration user_gapm_conf
mtu的设置
.max_mtu
Br
你好,正如我开始所说,这个参数值,我已经修改了,但是仍然无法发送超过20字节的内容至DA14531。14580的程序里,我修改这里是可以的,14531是否有什么其他的改动地方呢?
Hi,
也可以尝试使用函数
gattm_set_max_mtu(uint16_t mtu);
进行修改。
一般情况下在user_config.h中修改后即可生效。
如果不行的话需要检查app端的MTU size是否匹配。
仍然不行,我用PC上位机测试也是只能发20字节,确认上位机这边没有问题,就是DA14531修改MTU size没有成功,好像超过20字节 就直接无效了
是否可以帮忙修改确认一下呢?以ble_app_peripheral为例即可,只更改.max_mtu 确实不可以
同样的问题,可有答案?