主机写数据到从机时,哪个标志可以确认从机是否收到数据。也就是主机写数据成功。
可以看代码有没有跑进gattc_write_cmd_ind_handler,
然后可以检查消息里面的内容,是否是你写入的内容,是否写入了正确的属性句柄等等
gattc_write_cmd_ind_handler这个是从机收到数据时调用的,我的意思是主机怎么确定它发送的数据是否成功。就是主机给从机发送数据时调用user_send_ble_data这个函数,然后就是底层对从机进行通信,对于主机的应用层,怎么确定底层是否写入数据成功。
发送的消息是在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 =零;
这边走完数据就应该从协议栈出去了
可以看代码有没有跑进gattc_write_cmd_ind_handler,
然后可以检查消息里面的内容,是否是你写入的内容,是否写入了正确的属性句柄等等
gattc_write_cmd_ind_handler这个是从机收到数据时调用的,我的意思是主机怎么确定它发送的数据是否成功。
就是主机给从机发送数据时调用user_send_ble_data这个函数,然后就是底层对从机进行通信,对于主机的应用层,怎么确定底层是否写入数据成功。
发送的消息是在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 =零;
这边走完数据就应该从协议栈出去了