1233

Dependencies:   cJSON_lib mcp2515- mbed-dev-f303 esp8266 yezhong_main_controller_copy_3

Revision:
0:e923de71caa5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DATA_wifi/data_wifi.cpp	Fri Jun 24 07:58:26 2022 +0000
@@ -0,0 +1,135 @@
+#include "mbed.h"
+#include "data_wifi.h"
+#include "data_pc.h"
+#include "cJSON.h"
+#include "esp8266.h"
+ 
+
+
+Timer ttt;
+
+char RX[33],RXX[33];
+unsigned int m=0;
+
+
+
+void wifi_decode()
+{
+    double zitai_date;
+    float bbb;
+    ttt.start();
+    ttt.read(); 
+    bbb=ttt.read(); 
+      cJSON *root = cJSON_Parse(RXX);
+    if(!root)                        
+    {
+        printf("Error in cjosn: [%s]\n",cJSON_GetErrorPtr());
+    }
+    else
+    {        
+           
+         cJSON *temp1 = cJSON_GetObjectItem(root,"J");  
+         cJSON *temp = cJSON_GetObjectItem(temp1,"a");
+            
+        if(temp != NULL)                                        
+        {
+            if(temp->type == cJSON_Number)                       
+            {
+               zitai_date = temp->valuedouble;                              //double型    valuedoule
+            }
+        }
+                
+    }
+
+    cJSON_Delete(root);       
+       
+     //pc.printf("%.4f,%.3f\r\n",zitai_date,bbb);
+     pc.printf("zitai %.4f\r\n",zitai_date);
+}
+
+void wifi_clear()
+{
+    for(int i = 0; i <m+1; i++){
+        RXX[i] = 0;
+    }
+    m=0;
+}
+
+
+void serial_wifi_isr(void)
+{
+    static unsigned int A=0,B=0,z=0,n=0,b=0;
+    while(wifi.readable())
+    {                 
+        char c=wifi.getc();
+         //pc.putc(c);
+         if((c=='{')&&(b<2))
+        {
+            A = 1;
+            B = 0;
+            z= 0;
+            n=0;
+            for(unsigned int i=0;i<33;i++)
+            {
+                RX[i]=0;      
+            }
+        }
+        if((c == '}')&&(n!=1))
+        {
+            B = 1;
+            RX[z] = '}';
+        }   
+        if(A==1)
+        {
+            
+            if(B!=1)
+            {
+                RX[z] = c;   
+            } 
+              z++;
+              b++;
+              m=z;
+            if(B == 1)
+            {
+                A = 0;
+                B= 0;
+                b=0;
+                RX[z] = '}';
+                z= 0;
+                n=1;
+                for(unsigned int i = 0; i<m+1; i++)
+                {
+                   RXX[i] = RX[i] ;
+                   //pc.printf("%c",RXX[i]);
+                }
+                if((RXX[2]=='J')&&(RXX[8]=='a'))
+                {
+                wifi_decode();
+                }              
+                wifi_clear(); 
+            } 
+        }
+        
+    }
+}
+
+
+
+
+
+
+
+
+
+
+AnalogIn    LaLi_pf(PC_1);
+AnalogIn    LaLi_df(PC_2);
+AnalogIn    LaLi_df1(PC_3);
+
+float La_pf_real = 0.0f, La_df_real = 0.0f,La_df1_real = 0.0f;
+float Ffilter_pf[10 + 2] = {0.0f};
+float pf_filter = 0.0f;
+float F_pf = 0.0f;
+
+
+