1233
Dependencies: cJSON_lib mcp2515- mbed-dev-f303 esp8266 yezhong_main_controller_copy_3
Diff: DATA_wifi/data_wifi.cpp
- 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; + + +