使用属性句柄执行读/写操作
DA1469x
6个月前
使用属性句柄执行读/写操作
发布的prasanna0点 5回复你好,对话框,
你能告诉我属性句柄和值句柄的确切区别吗?此外,我还尝试在我的应用程序中设置一些数据的特征。通过运行应用程序并观察日志文件,以下是为我的特定特征生成的句柄。
“handle_evt_gattc_discover_char: conn_idx = 0000 uuid = 11111111-0000-0000-0000-000000000001处理value_handle = 000 = 000 b属性= 2 (-R-W-I——)”。
根据上面的value_handle (0x000b),我想在GATT服务器的属性数据库中设置一些值,并从中央读取它(作为x000b ble_gattc_read (0, 0, 0))。
在建立连接之后,我在“custom_service_example_code”中给出了以下内容。
开关(hdr - > evt_code) {
案例BLE_EVT_GAP_CONNECTED:
handle_evt_gap_connected ((ble_evt_gap_connected_t *) hdr);
static const uint8_t data[] = "对话框!";
ble_gatts_set_value (0 x000b sizeof(数据)1,数据);
打破;
.......................................
我想知道我使用的手柄是否正确,因为我无法从中央读取它。
当我试图运行这个,从日志我得到以下是什么我们可以读取。
"handle_evt_gattc_read_completed: conn_idx=0000 handle=000b status=0 .
00 00 00 00”。
相反,由于我不确定句柄和value_handle,我尝试使用句柄,它是0x000a,我得到如下输出。
"handle_evt_gattc_read_completed: conn_idx=0000 handle=000a status=0 .
11 *...............
11 11 11”。
我请求你澄清这个问题。
问候,
prasanna
6个月前
你好PM_Dialog,
是的,我用的是你提到的那个例子。我使用了2browse_service和characteristic" api而不是discover api来获得句柄和值句柄的清晰视图。下面是我测试的示例的日志。
Handle_evt_gattc_browse_svc: conn_idx=0000 start_h=0009 end_h=0011
0009服务11111111-0000-0000-0000-111111111111
prop=2a (-R-W-I-)
000 b——11111111-0000-0000-0000-000000000001
000 c x2901 desc 0
000 d x2902 desc 0
00e char 11111111-0000-0000-0000-111111111111 prop=2a (-R-W-I-)
000 f - 11111111-0000-0000-0000-000000000002
0010 desc 0 x2901
0011 desc 0 x2902
1)我提供了一项定制服务,有两个特点,你可以从日志中看到。你能解释一下为什么服务UUID显示在字符处理000a和000e中吗?
2)正如我前面提到的,我试图使用它的值句柄000b设置第一个特征的值,但你可以从下面看到,当我试图从外设读取时,我什么也没有得到。
"Handle_evt_gattc_read_completed: conn_idx=0000 handle=000b status=0
00 00 00 00"
问候,
Prasanna
5个月前
嗨Prasanna,
正如在其他论坛线程中提到的,这个SW示例将很快更新。我已经让公司内部检查过了。一旦DA469x支持网站上有了它,我就会告诉你。
让我再检查一遍,然后再给你答复。
谢谢,PM_Dialog
5个月前
嗨Prasanna,
正如在下面的论坛票据中提到的,示例没有更新:
谢谢,PM_Dialog
6个月前
嗨Prasanna,
让我查一下,然后给你答复。你在用DA1469x自定义蓝牙服务SW例子吗?
谢谢,PM_Dialog