|
hi请教一个问题
是这样的 手上有一个蓝牙设备作为从机
通过手机APP NRF_CONNECT可以连接到这个设备
如下图
当点击下箭头的时候 可以显示出来 用户描述
现在52840作为主机 可以连接 可以用nus服务和这个蓝牙设备通讯
我想问问 如何编程 读出这个Value
我阅读代码 找到一个接口
uint32_t ble_nus_c_tx_notif_enable(ble_nus_c_t * p_ble_nus_c)
sd_ble_gattc_write(conn_handle, &write_params);
这是去写CCCD 我猜想这里是--写 那么我应该是调用--读 也就是sd_ble_gattc_read
实际测试不行 会死机 我的代码如下
- void ble_nus_c_on_db_disc_evt(ble_nus_c_t * p_ble_nus_c, ble_db_discovery_evt_t * p_evt)
- {
- ble_nus_c_evt_t nus_c_evt;
- memset(&nus_c_evt,0,sizeof(ble_nus_c_evt_t));
- ble_gatt_db_char_t * p_chars = p_evt->params.discovered_db.charateristics;
- NRF_LOG_INFO("[KOSON] uuid=%4x type=%4x ",p_evt->params.discovered_db.srv_uuid.uuid,p_evt->params.discovered_db.srv_uuid.type);
- // Check if the NUS was discovered.
- if ( (p_evt->evt_type == BLE_DB_DISCOVERY_COMPLETE)
- && (p_evt->params.discovered_db.srv_uuid.uuid == BLE_UUID_NUS_SERVICE)
- && (p_evt->params.discovered_db.srv_uuid.type == p_ble_nus_c->uuid_type))
- {
- for (uint32_t i = 0; i < p_evt->params.discovered_db.char_count; i++)
- {
- NRF_LOG_INFO("[KOSON]i=%4x p_chars[i].characteristic.uuid.uuid=%4x",i,p_chars[i].characteristic.uuid.uuid);
- switch (p_chars[i].characteristic.uuid.uuid)
- {
- case BLE_UUID_NUS_RX_CHARACTERISTIC:
- nus_c_evt.handles.nus_rx_handle = p_chars[i].characteristic.handle_value;
- break;
- case BLE_UUID_NUS_TX_CHARACTERISTIC:
- nus_c_evt.handles.nus_tx_handle = p_chars[i].characteristic.handle_value;
- nus_c_evt.handles.nus_tx_cccd_handle = p_chars[i].cccd_handle;
-
- NRF_LOG_INFO("[KOSON read]%4x---%4x --%04x ",p_ble_nus_c->conn_handle,p_chars[i].user_desc_handle,sd_ble_gattc_read(p_ble_nus_c->conn_handle,p_chars[i].user_desc_handle, 0));
- break;
- default:
- break;
- }
- }
- if (p_ble_nus_c->evt_handler != NULL)
- {
- nus_c_evt.conn_handle = p_evt->conn_handle;
- nus_c_evt.evt_type = BLE_NUS_C_EVT_DISCOVERY_COMPLETE;
- p_ble_nus_c->evt_handler(p_ble_nus_c, &nus_c_evt);
- }
- }
- }
复制代码 log
0> <info> ble_nus_c: [KOSON]i= 0 p_chars.characteristic.uuid.uuid= 2
0> <info> ble_nus_c: [KOSON]i= 1 p_chars.characteristic.uuid.uuid= 3
0> <info> ble_nus_c: [KOSON read] 0--- 10 --0000
0> <info> ble_nus_c: [KOSON]i= 2 p_chars.characteristic.uuid.uuid= 4
0> <info> app: [BLE] Discovery complete.
请老师指导一下 谢谢
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|