不能写特征值

5个职位/ 0个新
最后发表
sklin
离线
最后看到:5年11个月前
专家
加入:2014-08-12 08:01
不能写特征值

嗨对话框
我在自定义配置文件服务中添加了两个特性(参考sample128),我可以使用android手机读取值。
但是我没有写出这种服务的特征价值。是什么问题?
我好像收不到这味精了。GATTC_WRITE_CMD_IND).我的代码有什么问题吗?

Static int gattc_write_cmd_ind_handler(ke_msg_id_t const msgid,
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)

如果(param - >处理= = simpleKey_env。sample128_shdl + SIMPLE_KEY_VAL1)

char_code = SIMPLE_KEY_VAL1;

else if(param->handle == simpleKey_env. 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 *)参数- >值[0]);
如果(param - >最后)

sample128_send_val (param - >值[0]);

状态= PRF_ERR_OK;
打破;

案例SIMPLE_KEY_CFG2:
uint16_t ntf_cfg;
ntf_cfg = co_read16p (param - >值[0]);
if (ntf_cfg == PRF_CLI_STOP_NTFIND) || (ntf_cfg == PRF_CLI_START_NTF))

Attmdb_att_set_value (param->句柄,sizeof(uint16_t), (uint8_t *)¶m->值[0]);
if (ntf_cfg == PRF_CLI_START_NTF)

simpleKey_env。功能| = PRF_CLI_START_NTF;

其他的

simpleKey_env。& = ~ PRF_CLI_START_NTF特性;

状态= PRF_ERR_OK;

打破;
默认值:休息;


atts_write_rsp_send (simpleKey_env.con_info。conidx param - >处理,PRF_ERR_OK);
返回(KE_MSG_CONSUMED);

sklin
离线
最后看到:5年11个月前
专家
加入:2014-08-12 08:01
我已经解决了这个问题

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

JE_Dialog
离线
最后看到:2周3天前
工作人员
加入:2013-12-05 14:02
好的,谢谢Sklin . .

好的,谢谢Sklin . .

Bassam.sharkawy
离线
最后看到:6年2个月前
加入:2014-10-14 37
你好,Sklin和JE_Dialog,

你好,Sklin和JE_Dialog,

Sklin,你在帖子中说“我在自定义配置文件服务中添加了两个特性(参考sample128)”。你能解释一下你在哪里添加了这些特征吗?我指的是什么样的结构,什么样的文件。

提前谢谢。

MT_dialog
离线
最后看到:三个月三个星期前
工作人员
加入:2015-06-08 34
嗨krishnacr,

嗨krishnacr,

你可以使用连接管理器与USB加密狗或与任何开发工具包,并操作它作为中心,或者你可以使用任何通用的BLE应用程序在android播放商店,如BLE扫描仪,B-BLE等。

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

由于MT_dialog