血压
authorp15692025051 <846603105@qq.com>
Wed, 24 Jan 2024 07:07:24 +0000 (15:07 +0800)
committerp15692025051 <846603105@qq.com>
Wed, 24 Jan 2024 07:07:24 +0000 (15:07 +0800)
2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c

index 049f7a6..c607f4a 100644 (file)
@@ -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\""))