我不能接收msg(GATTC_WRITE_CMD_IND)

7个职位/ 0个新职位
最后发表
Aviel
离线
最后看到:6年5个月前
加入:2015-02-22 14:34
我不能接收msg(GATTC_WRITE_CMD_IND)

你好,
我下载了DSPS项目,我试图从DSPS应用程序发送一些消息,但我没有收到msg(GATTC_WRITE_CMD_IND)在BLE设备。有人知道为什么吗?

JE_Dialog
离线
最后看到:2个月3个星期前
工作人员
加入:2013-12-05 14:02
你好Aviel,
Aviel
离线
最后看到:6年5个月前
加入:2015-02-22 14:34
你好,

你好,
是的,权限是可写的,DSPS的代码可以工作了,不是吗?,我参考了线程,但他们没有解决我的问题。
这个问题也出现在样例128项目中。我想我不明白一些事情。

Aviel
离线
最后看到:6年5个月前
加入:2015-02-22 14:34
允许需要做的事情

什么需要书写的许可?特性还是服务?

gl_dialog(未验证)
嗨Aviel,

嗨Aviel,

DSPS配置文件可以“开箱即用”。

我猜您想创建自己的GATTC_WRITE_CMD_IND CHAR。请找到下面的示例步骤:

1)在你的处理器中,添加:

/ /添加字符属性
= attmdb_add_attribute (adc_notify_env地位。adc_notify_shdl, ATT_UUID_128_LEN + 3, //数据大小= 19 (ATT_UUID_128_LEN + 3)
ATT_UUID_16_LEN, (uint8_t*) &att_decl_char, PERM(RD, ENABLE), //这是CHAR描述符属性的权限。
& (char_hdl));// CHAR描述符属性总是RD ONLY。

/ /添加VAL属性
= attmdb_add_attribute (adc_notify_env地位。adc_notify_shdl, 16, //数据大小:16字节
&change_beacon_parameters_val ATT_UUID_128_LEN (uint8_t *)。uuid, PERM(WR, ENABLE), //VALUE ATTRIBUTE IS WRITE
& (val_hdl));

memcpy (change_beacon_parameters_char。attr_hdl &val_hdl, sizeof (uint16_t));
//将value属性的句柄写入特征描述符。句柄的大小总是2 (sizeof(uint16_t))
状态= attmdb_att_set_value(char_hdl, sizeof(change_beacon_parameters_char), (uint8_t *)&change_beacon_parameters_char);

2)在gattc_write_cmd_ind_handler中添加:

如果(char_code = = xxxx_CHAR)

arch_printf(“\ n \ r \ n \ rWRITE”);

问候,

DIALOG_TEAM

Aviel
离线
最后看到:6年5个月前
加入:2015-02-22 14:34
这个例子已经存在

这个例子已经存在于样本128配置文件和我没有收到中断的WRITE_CMD。我成功读取char,但不能写入。

Aviel
离线
最后看到:6年5个月前
加入:2015-02-22 14:34
好吧,对不起,是我的

不好意思,这是我的错误,我用错误的uuid发送了写命令。
现在它的工作。
谢谢你! !