sd_ble_gattc_write
回答是什么 我在哪里看到?
https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk51.v10.0.0%2Fgroup__ble__gattc__app.html
用自己的办法
那就是 我在
这里 BLE_NUS_C_EVT_DISCOVERY_COMPLETE 以后去发函数 用API
static void ble_nus_c_evt_handler(ble_nus_c_t * p_ble_nus_c, ble_nus_c_evt_t const * p_ble_nus_evt)
{
switch (p_ble_nus_evt->evt_type)
{
// Found node by BLE
case BLE_NUS_C_EVT_DISCOVERY_COMPLETE:
然后在这里 打印LOG
看看回答什么消息!!!!!!
static void ble_evt_handler(ble_evt_t const * p_ble_evt, void * p_context)
{
ret_code_t err_code;
// For readability.
ble_gap_evt_t const * p_gap_evt = &p_ble_evt->evt.gap_evt;
switch (p_ble_evt->header.evt_id)
{
case BLE_GATTC_EVT_READ_RSP:
发送 ble_nus_c_tx_notif_enable
测试回答 --参考BLE_GATTC_EVT_READ_RSP定位
[00:00:42.421,936] <info> app: [BLE] ble_evt_handler 51----BLE_GATTC_EVT_DESC_DISC_RSP
[00:00:42.511,657] <info> app: [BLE] ble_evt_handler 60---BLE_GATTC_EVT_WRITE_CMD_TX_COMPLETE
[00:00:42.691,497] <info> app: [BLE] ble_evt_handler 56---BLE_GATTC_EVT_WRITE_RSP
看名字 那就是 BLE_GATTC_EVT_WRITE_RSP 是回答!!!!
在这里继续流程
我感觉已经学会了
现在的流程是
ble_nus_c_evt_handler
BLE_NUS_C_EVT_DISCOVERY_COMPLETE
ble_nus_c_handles_assign
ble_nus_c_tx_notif_enable
然后等
ble_evt_handler
BLE_GATTC_EVT_WRITE_RSP 这里就是回答了
继续
sd_ble_gattc_read
这样的 等回答 BLE_GATTC_EVT_READ_RSP
可以提交一次
本质这个流程需要修改 一旦ntf可能马上从机来消息
修改一下
先读用户描述 拿到了 再去使能ntf
修改从机加密因子
测试OK
也就是必须TX以后等到RX在继续调用API否则err 就是busy