嗨,支持!
我尝试使用DA14531和SDK 6.0.14.1114 (with hotfix 001)创建具有最大吞吐量能力的自定义配置文件。
当我不能写超过20字节到我的设备的特征时,我面临的问题,但可以发送244字节使用通知(激活的DLE, MTU 247字节)。特征的大小是251字节。我认为一次可以写入的最大数据大小大约是244字节。
我在DA14531产品页面上找到了几个示例(Troughput和DSPS示例),但在其中一个示例(吞吐量示例)中我看到了相同的情况。在DSPS的例子中似乎都很好,但都不能写超过128字节(记住,激活DLE, MTU 247字节)。
我该如何解决这个问题?哪边(电话或DA14531)限制写入命令的数据大小?
先谢谢你,Stepanov Ivan。
设备:
你好,
谢谢你在网上提出的问题。我建议首先检查SDK的ble_app_peripheral示例。I在6.0.14.1114\projects\target_apps\ble_examples\ble_app_peripheral SDK路径下。
这个例子实现了写长特征值。如果要写入的特征值的长度大于20字节,则会触发user_catch_rest_hndl()函数中的user_svc1_long_val_att_info_req_handler()。如果长度小于20字节,将执行user_svc1_long_val_wr_ind_handler()。因此,如果您希望发送超过20个字节而不使用MTU交换,那么应该执行与user_svc1_long_val_att_info_req_handler()函数相同的实现。然后主服务器将发送一个“Prepare Write Request”,从服务器将响应一个“Prepare Write response”。否则,如果您想做一个简单的写请求并发送超过20个字节,您应该增加MTU大小。
谢谢,PM_Dialog