嗨,我下载了DSPS项目,我尝试从DSPS应用程序发送一些消息,但我在BLE设备中没有收到MSG(GATTC_WRITE_CMD_IND)。有人知道为什么?
你好阿维尔,
有几个线程可能解决您的问题:您是否设置了Permissiosn可写的?
BR JE_DIALOG.
http://support.dialog-semicondiondiondum/cant-write-characteristic-value.
http://support.dialog-semicondiondiondiondum/adding-notify-permission-特征
http://support.dialog-semicondiondiondiondum/can-not-handle-write-out-response.
嗨,是的,权限是可写的,DSP的代码已准备好工作,我在线程中引用,但他们没有解决我的问题。此问题也发生在示例128项目中。我认为我不明白的东西。
许可需要可写的?特征或服务的特点?
嗨阿维尔,
DSP配置文件“开箱即用”。
我想你想创建自己的gattc_write_cmd_ind char。请在以下找到优先级步骤:
1)在您的处理程序中,添加:
//添加char属性status = attmdb_add_attribute(adc_notify_env.adc_notify_shdl,att_uuid_128_len + 3,// data size = 19(att_uuid_128_len + 3)ATT_UUID_16_LEN,(UINT8_T *)和ATT_DECL_CHAR,PERM(RD,ENABLE),//这是CHAR描述符属性的权限。&(char_hdl));// char描述符属性始终是RD。//添加val属性status = attmdb_add_attribute(adc_notify_env.adc_notify_shdl,16,//数据大小:16字节ATT_UUID_128_LEN,(UINT8_T *)&change_beacon_parameters_val.uuid,perm(wr,启用),// value属性是写入&(val_hdl));memcpy(change_beacon_parameters_char.attr_hdl,&val_hdl,sizeof(uint16_t));//将value属性的句柄写入特征描述符。句柄的大小总是2(尺寸(uint16_t))status = attmdb_att_set_value(char_hdl,sizeof(change_beacon_parameters_char),(uint8_t *)和change_beacon_parameters_char);
2)在gattc_write_cmd_ind_handler handler中,添加:
if(char_code == xxxx_char){ARCH_PRINTF(“\ n \ r \ n \ Rwrite”);
问候,
dialog_team.
此示例已经存在于示例128配置文件中,并且我不接收Write_cmd的中断。我成功地读了字,但不是写的。
好的,我很抱歉,我的错误,我用错误的uuid发送写命令。现在它的工作。谢谢!!!!
你好阿维尔,
有几个线程可能解决您的问题:您是否设置了Permissiosn可写的?
BR JE_DIALOG.
http://support.dialog-semicondiondiondum/cant-write-characteristic-value.
http://support.dialog-semicondiondiondiondum/adding-notify-permission-特征
http://support.dialog-semicondiondiondiondum/can-not-handle-write-out-response.
嗨,
是的,权限是可写的,DSP的代码已准备好工作,我在线程中引用,但他们没有解决我的问题。
此问题也发生在示例128项目中。我认为我不明白的东西。
许可需要可写的?特征或服务的特点?
嗨阿维尔,
DSP配置文件“开箱即用”。
我想你想创建自己的gattc_write_cmd_ind char。请在以下找到优先级步骤:
1)在您的处理程序中,添加:
//添加char属性
status = attmdb_add_attribute(adc_notify_env.adc_notify_shdl,att_uuid_128_len + 3,// data size = 19(att_uuid_128_len + 3)
ATT_UUID_16_LEN,(UINT8_T *)和ATT_DECL_CHAR,PERM(RD,ENABLE),//这是CHAR描述符属性的权限。
&(char_hdl));// char描述符属性始终是RD。
//添加val属性
status = attmdb_add_attribute(adc_notify_env.adc_notify_shdl,16,//数据大小:16字节
ATT_UUID_128_LEN,(UINT8_T *)&change_beacon_parameters_val.uuid,perm(wr,启用),// value属性是写入
&(val_hdl));
memcpy(change_beacon_parameters_char.attr_hdl,&val_hdl,sizeof(uint16_t));
//将value属性的句柄写入特征描述符。句柄的大小总是2(尺寸(uint16_t))
status = attmdb_att_set_value(char_hdl,sizeof(change_beacon_parameters_char),(uint8_t *)和change_beacon_parameters_char);
2)在gattc_write_cmd_ind_handler handler中,添加:
if(char_code == xxxx_char)
{
ARCH_PRINTF(“\ n \ r \ n \ Rwrite”);
问候,
dialog_team.
此示例已经存在于示例128配置文件中,并且我不接收Write_cmd的中断。我成功地读了字,但不是写的。
好的,我很抱歉,我的错误,我用错误的uuid发送写命令。
现在它的工作。
谢谢!!!!