跳到主要内容

写信到长度的特征价值

2年前

写信到长度的特征价值

张贴了JarireneJensen.0分 1回复
0旋转

读取“training_02_custom_profile_example_v1.1”它指出user_custs1_def.h中的长特征“演示写入长度的特征值”。它被定义为50个字节长。但我没有看到代码处理写入这个特征。
形式
https://support.dialog-semicondiondiondiondum/forums/post/dialog-smartbond-b...
似乎堆栈应该能够处理大小最多512字节的特性。
我可以导致r / w 20字节,但不得更多。我正在使用示例的user_catch_rest_hndl()函数并捕捉svc1_idx_control_point_val。在该示例中,这调用了一个空函数。该信号仅包含前20个字节。
要测试我有Ben使用BlueGiga GUI工具发送数据50bytes,似乎快乐地写入50字节,但不是51个字节,即大小为50.使用读取或读取长度的读数仅产生20个字节。
您在哪里隐藏代码“展示写入长度特征值”的代码?

此致

接受答案!

2年前

PM_DIALOG.

嗨Jarirenejensen,

SDK的BLE_APP_PHERIALAL示例实现了写入长特征值。请看看SDK的这个例子。如果要写入的特征值的长度大于20字节,则将触发user_catch_rest_hndl()函数中的user_svc1_long_val_att_info_req_handler()。如果长度小于20字节,则将执行user_svc1_long_val_wr_ind_handler()。因此,如果要在没有MTU Exchange的情况下发送超过20个字节的字节,则应在BLE_APP_PERITIALLAL示例的user_svc1_long_val_att_info_req_handler()函数中执行相同的实现。由于您这样做,主机将发送“准备写入请求”,从设备将响应“准备写入响应”。否则,如果要执行简单的写请求并发送20多个字节,则应增加MTU大小。

谢谢,PM_DIALOG.