3帖/ 0新
最后发表
comprends
离线
最后一次露面:4天8小时前
加入时间:2019年6月21日07:31
DA14531indicate问题

请问DA14531表明发送数据应该怎么用呢?

DA14580是这样的:

attmdb_att_set_value((custs1_env.shdl + CUST1_IDX_INDICATEABLE_VAL),SendData_Param_length,(uint8_t *)值);
prf_server_send_event((prf_env_struct *)&(custs1_env.con_info),假,(custs1_env.shdl + CUST1_IDX_INDICATEABLE_VAL));

在DA14531里好像没有prf_server_send_event函数了。参考SDK例程custs1_val_ind_req_handler函数时,发现这个函数在编译DA14531的时候是注释掉的,那正确的通过表示发送数据的流程是怎么样的呢

期待回复谢谢

设备:
CYibin
离线
最后一次露面:4天3小时前
员工
加入时间:2017年12月14日02:48
你好,

你好,

参考SDK中ble_app_perpheral工程发送NTF的做法,将其改成指示即可:

空隙app_adcval1_timer_cb_handler(){结构custs1_val_ntf_ind_req * REQ = KE_MSG_ALLOC_DYN(CUSTS1_VAL_IND_REQ,// ycai指示事件prf_get_task_from_id(TASK_ID_CUSTS1),TASK_APP,custs1_val_ntf_ind_req,DEF_SVC1_ADC_VAL_1_CHAR_LEN);// ADC值要被采样的静态uint16_t样品__SECTION_ZERO( “retention_mem_area0”);样本=(样品<= 0xFFFF的)?(样品+ 1):0;// req-> conhdl = app_env-> conhdl;req->手柄= SVC1_IDX_ADC_VAL_1_VAL;req->长度= DEF_SVC1_ADC_VAL_1_CHAR_LEN;req->通知= FALSE;// ycai:假用于指示,真正用于通知的memcpy(req->值,&样品,DEF_SVC1_ADC_VAL_1_CHAR_LEN);ke_msg_send(REQ); if (ke_state_get(TASK_APP) == APP_CONNECTED) { // Set it once again until Stop command is received in Control Characteristic timer_used = app_easy_timer(APP_PERIPHERAL_CTRL_TIMER_DELAY, app_adcval1_timer_cb_handler); } }

comprends
离线
最后一次露面:4天8小时前
加入时间:2019年6月21日07:31
谢谢,搞定了

谢谢,搞定了