4个职位/ 0个新
最后发表
沃利
离线
最后看到:1个月前3个星期前
加入:2016-06-21 01:23
主机写数据时,如何确认从机是否接收成功

主机写数据到从机时,哪个标志可以确认从机是否收到数据。也就是主机写数据成功。

设备:
Qinjiny_Dialog
离线
最后看到:4周3小时前
工作人员
加入:2016-11-01 05:47
可以看代码有没有跑进gattc_write_cmd_ind

可以看代码有没有跑进gattc_write_cmd_ind_handler,

然后可以检查消息里面的内容,是否是你写入的内容,是否写入了正确的属性句柄等等

沃利
离线
最后看到:1个月前3个星期前
加入:2016-06-21 01:23
gattc_write_cmd_ind

gattc_write_cmd_ind_handler这个是从机收到数据时调用的,我的意思是主机怎么确定它发送的数据是否成功。
就是主机给从机发送数据时调用user_send_ble_data这个函数,然后就是底层对从机进行通信,对于主机的应用层,怎么确定底层是否写入数据成功。

Qinjiny_Dialog
离线
最后看到:4周3小时前
工作人员
加入:2016-11-01 05:47
发送的消息是在gattc_event_ind

发送的消息是在gattc_event_ind_handler里面处理的

如果spsc_env->pending_tx_msg != NULL

Struct sps_client_data_tx_req const *pending_param = (Struct sps_client_data_tx_req const *)spsc_env->pending_tx_msg->param;

prf_gatt_write (&spsc_env - > con_info spsc_env - > sps.chars [SPSC_SRV_RX_DATA_CHAR]。/ /设置参数uint8_t * pending_param->data,sizeof(uint8_t * pending_param->length, GATTC_WRITE_NO_RESPONSE);
spsc_env - > pending_tx_ntf_cmp = true;
spsc_env - > pending_wr_no_rsp_cmp + +;

ke_msg_free (spsc_env - > pending_tx_msg);

spsc_env - > pending_tx_msg =零;

这边走完数据就应该从协议栈出去了