From: p15692025051 <846603105@qq.com> Date: Wed, 24 Jan 2024 07:07:24 +0000 (+0800) Subject: 血压 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=0b3232e6e941db137368bfff593f4c6825743979;p=mirrors%2FASR3603_Z5.git 血压 --- diff --git a/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c b/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c index 049f7a6e..c607f4a5 100644 --- a/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c +++ b/2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c @@ -80,15 +80,18 @@ int fr8012haq_parse_returned_data(int timeout); //字符串里查找最近一个c字符,返回偏移位置 unsigned int find_c(char *data,char c) { - unsigned char count = 0; - while(data[count]) + unsigned int count = 0; + while(1) { if(data[count] == c) return count; count++; - if(count > 65532) + // if(count%100 ==1) + // FR8012HAQ_LOG("find_c:count:%d",count); + if(count > 65532|| data[count] == 0) return 0; } + return 0; } static void fr8012haq_en_gpio_init(void) { @@ -590,8 +593,7 @@ int fr8012haq_parse_returned_data(int timeout) // FR8012HAQ_LOG("%s\n", (char *)UART4_buf+110); int print_len_tmp = len ; FR8012HAQ_LOG("UART4:len:%d ",len); - FR8012HAQ_LOG("str:%s",UART4_buf); - FR8012HAQ_LOG("%s",UART4_buf+255-4); + my_str_print(UART4_buf,len);//打印 FR8012HAQ_LOG("\n\n"); if(strstr(UART4_buf,"\"cmd\":\"2\"")) @@ -739,23 +741,26 @@ int fr8012haq_parse_returned_data(int timeout) { //unsigned char hrs = 0; str_tmp += strlen("\"yyl_data\":\""); - //time + FR8012HAQ_LOG("yyl_data1:!!!\n"); unsigned int yyl_data_len = 0; - yyl_data_len = find_c(str_tmp,'\"'); + FR8012HAQ_LOG("yyl_data1.0.0:!!!\n"); if(s_FR8012HAQ_yyl_data!= NULL && s_FR8012HAQ_yyl_data_len ==0)//统一线程释放,避免上层应用释放导致dump { + FR8012HAQ_LOG("yyl_data1.0:!!!\n"); free(s_FR8012HAQ_yyl_data); s_FR8012HAQ_yyl_data = NULL; } if(s_FR8012HAQ_yyl_data == NULL)//第一次用 { + FR8012HAQ_LOG("yyl_data1.1:!!!\n"); s_FR8012HAQ_yyl_data = malloc(yyl_data_len); s_FR8012HAQ_yyl_data_len = 0; }else { + FR8012HAQ_LOG("yyl_data1.3:!!!\n"); char *s_FR8012HAQ_yyl_data_tmp = malloc(yyl_data_len+s_FR8012HAQ_yyl_data_len); memcpy(s_FR8012HAQ_yyl_data_tmp,s_FR8012HAQ_yyl_data,s_FR8012HAQ_yyl_data_len); free(s_FR8012HAQ_yyl_data); @@ -764,15 +769,16 @@ int fr8012haq_parse_returned_data(int timeout) } if(s_FR8012HAQ_yyl_data)//复制数据 { + FR8012HAQ_LOG("yyl_data1.4:!!!\n"); memcpy(&s_FR8012HAQ_yyl_data[s_FR8012HAQ_yyl_data_len],str_tmp,yyl_data_len); s_FR8012HAQ_yyl_data_len+=yyl_data_len; } - FR8012HAQ_LOG("yyl_data:len:%d\n",s_FR8012HAQ_yyl_data_len); - FR8012HAQ_LOG("yyl_data:"); + FR8012HAQ_LOG("yyl_data2:len:%d\n",s_FR8012HAQ_yyl_data_len); + FR8012HAQ_LOG("yyl_data3:"); my_str_print(s_FR8012HAQ_yyl_data,s_FR8012HAQ_yyl_data_len);//打印 FR8012HAQ_LOG("\n\n"); - FR8012HAQ_LOG("yyl_data:len:%d",s_FR8012HAQ_yyl_data_len); + } } if(strstr(UART4_buf,"\"cmd\":\"3\""))