改变DSPS项目的特征属性

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
2个帖子/ 0个新
最后发表
林恩
离线
最后看到:3年3个月前
加入:2015-10-09 15:31
改变DSPS项目的特征属性

你好,
我想改变DSPS项目的特征属性,当我改变ATT_CHAR_PROP_WR_NO_RESP为ATT_CHAR_PROP_WR, lightblue应用程序有改变特征属性写入,但有一个问题,蓝牙将断开几秒钟。为什么?

/// SPS服务- RX数据特性
静态结构att_char128_desc spss_rx_data_char = {(ATT_CHAR_PROP_WR_NO_RESP),
{0},
SPS_SERVER_RX_UUID};
唯一的改变
/// SPS服务- RX数据特性
static struct att_char128_desc spss_rx_data_char = {(ATT_CHAR_PROP_WR),
{0},

关键词:
设备:
PM_Dialog
离线
最后看到:2天15小时前
工作人员
加入:2018-02-08 11:03
嗨,林恩,

嗨,林恩,

当一个可写特性没有响应属性,主机向该特性写入一个值时,它不会等待接收到数据的设备的响应。当该特征具有响应属性时,设备应向主机发送响应。在DSPS的设备代码中,spss_rx_data_char是一个没有响应的特征,因此主机不会等待设备的响应。为了将它更改为ATT_CHAR_PROP_WR,你应该发送一个响应到dsps代码中没有实现的设备。当您从主机向设备发送数据时,设备将获得一个GATTC_WRITE_CMD_IND,然后执行gattc_write_cmd_ind_handler。请转到sps_device项目的sps_server_task.c文件中的gattc_write_cmd_ind_handler()函数,并在if语句的第二个条件中添加以下代码:

如果(param - >响应= = 0 x01)

atts_write_rsp_send (spss_env.con_info。conidx param - >处理,PRF_ERR_OK);

如果您添加此代码块,您的设备不应断开连接。

由于PM_dialog