无法写入特征值

5个帖子/ 0新
最后一篇
滑轨
离线
最后一次露面:6年1个月前
专家
加入:2014-08-12 08:01
无法写入特征值

嗨对话框
我在自定义配置文件服务中添加了两个Charactristics(参见Sample128),我可以通过使用Android手机来读取该值。
但我没有在服务中写下特征价值。问题是什么?
看来我无法接受消息(gattc_write_cmd_ind.)。我的代码中有什么不对的?

msgid静态int gattc_write_cmd_ind_handler(ke_msg_id_t const,
struct gattc_write_cmd_ind const * param,
ke_task_id_t const dest_id,
ke_task_id_t const src_id)
{
uint8_t char_code = sample128_err_char;
uint8_t status = prf_app_error;

if(ke_idx_get(src_id)== simplekey_env.con_info.conidx)
{
if(param-> handle == simplekey_env.sample128_shdl + simple_key_val1)
{
char_code = simple_key_val1;
}
否则if(param-> handle == simplekey_env.sample128_shdl + simple_key_cfg2)
{
char_code = simple_key_cfg2;
}

切换(CHAR_CODE)
{
案例simple_key_val1:
attmdb_att_set_value(param->句柄,
sizeof(uint8_t),
(UINT8_T *)和参数 - > value [0]);
如果(param->最后)
{
sample128_send_val(param-> value [0]);
}
status = prf_err_ok;
休息;

案例simple_key_cfg2:
uint16_t ntf_cfg;
ntf_cfg = co_read16p(&param-> value [0]);
if((ntf_cfg == prf_cli_stop_ntfind)||(ntf_cfg == prf_cli_start_ntf))
{
attmdb_att_set_value(param->句柄,sizeof(uint16_t),(uint8_t *)和param->值[0]);
if(ntf_cfg == prf_cli_start_ntf)
{
simplekey_env.feature | = prf_cli_start_ntf;
}
别的
{
simplekey_env.feature&=〜prf_cli_start_ntf;
}
status = prf_err_ok;
}
休息;
默认:休息;
}
}
ATTS_WRITE_RSP_SEND(SimpleKey_Env.con_info.Conidx,Param-> Handl,PRF_ERR_OK);
return(ke_msg_consumed);
}

滑轨
离线
最后一次露面:6年1个月前
专家
加入:2014-08-12 08:01
它解决了这个问题

我解决了这个问题,这是粗心的。
我设置了特征可读但不可写的权限。

je_dialog.
离线
最后一次露面:2个月3周前
职员
加入:2013-12-05 14:02
好的,谢谢你sklin ..

好的,谢谢你sklin ..

Bassam.Sharkawy.
离线
最后一次露面:6年4个月前
加入:2014-10-14 10:37
你好sklin和je_dialog,

你好sklin和je_dialog,

Sklin,您在关注以下“我在自定义配置文件服务中添加了两个特性(参见Sample128)”。请澄清您在哪里增加了这些特征?在什么结构中,我的意思是什么。

提前致谢。

mt_dialog.
离线
最后一次露面:6个月3天前
职员
加入:2015-06-08 11:34
嗨Krishnacr,

嗨Krishnacr,

您可以使用USB加密狗或任何开发套件使用Connection Manager并将其作为中央操作,或者您可以在Android播放商店上使用任何通用应用程序,如BLE扫描仪,B-BLE等。

关于吞吐量问题,对话框没有通用工具,据我所知,将允许您衡量申请或第三个申请的吞吐量。如果您希望测试应用程序,则测试应该是特定于应用程序的。

谢谢mt_dialog.