我用这个设备作为服务器,通过PC连接到它。我能够写入超过20字节的设备特征值。特征值以'param->last'为真的方式分批到达。这很好。
当设备想要写入一个值到它的数据库(通知),我可以写超过20字节,但PC端似乎只接收20,我不确定问题在哪里。下面是响应'update_req_handler '的设备代码:
如果(param - > conhdl = = gapc_get_conhdl (controller_env.con_info.conidx))
{
//更新数据库中的值
attmdb_att_set_value (controller_env。akpatch_controller_shdl + CONTROLLER_RESPONSE_IDX_VAL, param->reply_length, (uint8_t *)param->reply);
Arch_printf ("reply with %d bytes\n", param->reply_length);
如果(controller_env。notify_property_status & PRF_CLI_START_NTF))
//通过GATT发送通知
Prf_server_send_event ((prf_env_struct *))&controller_env, false, controller_env. Prf_server_send_event ((prf_env_struct *));controller_shdl + CONTROLLER_RESPONSE_IDX_VAL);
}
我是不是漏掉了什么?我需要将数据库更新分解成几部分吗?
谢谢,
马可
设备:
通知大小被限制为20个字节。
谢谢……我想这可能是真的,但我觉得我应该试试。
马可