1233

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

Committer:
yezhong
Date:
Fri Jun 24 07:58:26 2022 +0000
Revision:
0:e923de71caa5
111111

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yezhong 0:e923de71caa5 1 #include "data_xiedian.h"
yezhong 0:e923de71caa5 2 #include "data_pc.h"
yezhong 0:e923de71caa5 3 #include "CAN.h"
yezhong 0:e923de71caa5 4
yezhong 0:e923de71caa5 5 Serial xiedian(PC_10, PC_11);
yezhong 0:e923de71caa5 6
yezhong 0:e923de71caa5 7
yezhong 0:e923de71caa5 8
yezhong 0:e923de71caa5 9
yezhong 0:e923de71caa5 10
yezhong 0:e923de71caa5 11 unsigned int flag_foot_A = 0, flag_foot_B = 0;
yezhong 0:e923de71caa5 12 unsigned int Sfootnum = 0;
yezhong 0:e923de71caa5 13
yezhong 0:e923de71caa5 14 uint8_t Sfootget[45] = {0};
yezhong 0:e923de71caa5 15 uint8_t Sfootuse[45] = {0};
yezhong 0:e923de71caa5 16
yezhong 0:e923de71caa5 17 uint16_t shou[28]={0};
yezhong 0:e923de71caa5 18 float shou1[28]={0};
yezhong 0:e923de71caa5 19 Timer vv;
yezhong 0:e923de71caa5 20
yezhong 0:e923de71caa5 21
yezhong 0:e923de71caa5 22
yezhong 0:e923de71caa5 23
yezhong 0:e923de71caa5 24
yezhong 0:e923de71caa5 25 void xiedian_decode()
yezhong 0:e923de71caa5 26 {
yezhong 0:e923de71caa5 27 vv.start();
yezhong 0:e923de71caa5 28 vv.read();
yezhong 0:e923de71caa5 29 float b=vv.read();
yezhong 0:e923de71caa5 30 /*
yezhong 0:e923de71caa5 31 for(int i = 0; i < 6; i++)
yezhong 0:e923de71caa5 32 {
yezhong 0:e923de71caa5 33 shou[i]=(Sfootuse[2*i]<<8)|Sfootuse[2*i+1];
yezhong 0:e923de71caa5 34 }
yezhong 0:e923de71caa5 35 for(int i = 0; i < 11; i++)
yezhong 0:e923de71caa5 36 {
yezhong 0:e923de71caa5 37 shou[2*i+6]=(Sfootuse[3*i+12]<<4)|(Sfootuse[3*i+13]>>4);
yezhong 0:e923de71caa5 38 shou[2*i+7]=((Sfootuse[3*i+13]<<8)&0xFFF)|Sfootuse[3*i+14];
yezhong 0:e923de71caa5 39 }
yezhong 0:e923de71caa5 40
yezhong 0:e923de71caa5 41 for(int i = 0; i < 28; i++)
yezhong 0:e923de71caa5 42 {
yezhong 0:e923de71caa5 43 //shou1[i]=(float)shou[i]/4096*3.3;
yezhong 0:e923de71caa5 44 shou1[i]=4096-shou[i];
yezhong 0:e923de71caa5 45 }
yezhong 0:e923de71caa5 46 pc.printf("%2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %.3f\r\n",shou1[6],shou1[7],shou1[8],shou1[9],shou1[10],shou1[11],shou1[12],shou1[13],shou1[14],shou1[15],shou1[16],shou1[17],shou1[18],shou1[19],shou1[20],shou1[21],shou1[22],shou1[23],shou1[24],shou1[25],shou1[26],b);
yezhong 0:e923de71caa5 47 */
yezhong 0:e923de71caa5 48 for(int i = 0; i < 2; i++)
yezhong 0:e923de71caa5 49 {
yezhong 0:e923de71caa5 50 shou[2*i]=(Sfootuse[3*i]<<4)|(Sfootuse[3*i+1]>>4);
yezhong 0:e923de71caa5 51 shou[2*i+1]=((Sfootuse[3*i+1]<<8)&0xFFF)|Sfootuse[3*i+2];
yezhong 0:e923de71caa5 52 }
yezhong 0:e923de71caa5 53 for(int i = 0; i < 4; i++)
yezhong 0:e923de71caa5 54 {
yezhong 0:e923de71caa5 55 shou1[i]=4096-shou[i];
yezhong 0:e923de71caa5 56 }
yezhong 0:e923de71caa5 57 // pc.printf("%2.2f %2.2f %2.2f %2.2f %0.3f\r\n",shou1[0],shou1[1],shou1[2],shou1[3],b);
yezhong 0:e923de71caa5 58 pc.printf("xiedian:%2.2f %2.2f %2.2f %2.2f\r\n",shou1[0],shou1[1],shou1[2],shou1[3]);
yezhong 0:e923de71caa5 59 }
yezhong 0:e923de71caa5 60
yezhong 0:e923de71caa5 61
yezhong 0:e923de71caa5 62 void xiedian_clear()
yezhong 0:e923de71caa5 63 {
yezhong 0:e923de71caa5 64 //for(int i = 0; i < 45; i++)
yezhong 0:e923de71caa5 65 for(int i = 0; i < 6; i++)
yezhong 0:e923de71caa5 66 {
yezhong 0:e923de71caa5 67 Sfootuse[i] = 0;
yezhong 0:e923de71caa5 68 }
yezhong 0:e923de71caa5 69 }
yezhong 0:e923de71caa5 70
yezhong 0:e923de71caa5 71
yezhong 0:e923de71caa5 72 void serial_xiedian_isr(void)
yezhong 0:e923de71caa5 73 {
yezhong 0:e923de71caa5 74 // pc.printf("begin\n");
yezhong 0:e923de71caa5 75
yezhong 0:e923de71caa5 76 while(xiedian.readable())
yezhong 0:e923de71caa5 77 {
yezhong 0:e923de71caa5 78 uint8_t c = xiedian.getc();
yezhong 0:e923de71caa5 79 if(c ==0x0A)
yezhong 0:e923de71caa5 80 {
yezhong 0:e923de71caa5 81 flag_foot_A = 1;
yezhong 0:e923de71caa5 82 flag_foot_B = 0;
yezhong 0:e923de71caa5 83 Sfootnum = 0;
yezhong 0:e923de71caa5 84 //for(unsigned int i = 0; i < 45; i++)
yezhong 0:e923de71caa5 85 for(unsigned int i = 0; i < 6; i++)
yezhong 0:e923de71caa5 86 {
yezhong 0:e923de71caa5 87 Sfootget[i] = 0;
yezhong 0:e923de71caa5 88 }
yezhong 0:e923de71caa5 89
yezhong 0:e923de71caa5 90 break; //直接结束;回到起始位置;
yezhong 0:e923de71caa5 91 }
yezhong 0:e923de71caa5 92 if(c ==0x0B)
yezhong 0:e923de71caa5 93 {
yezhong 0:e923de71caa5 94 flag_foot_B = 1;
yezhong 0:e923de71caa5 95 }
yezhong 0:e923de71caa5 96
yezhong 0:e923de71caa5 97 if(flag_foot_A == 1)
yezhong 0:e923de71caa5 98 {
yezhong 0:e923de71caa5 99 //if((flag_foot_B != 1) && (Sfootnum < 45))
yezhong 0:e923de71caa5 100 if((flag_foot_B != 1) && (Sfootnum < 6))
yezhong 0:e923de71caa5 101 {
yezhong 0:e923de71caa5 102 Sfootget[Sfootnum] = c;
yezhong 0:e923de71caa5 103 }
yezhong 0:e923de71caa5 104
yezhong 0:e923de71caa5 105 Sfootnum++;
yezhong 0:e923de71caa5 106
yezhong 0:e923de71caa5 107 //if((flag_foot_B == 1) && (Sfootnum != 46))
yezhong 0:e923de71caa5 108 if((flag_foot_B == 1) && (Sfootnum != 7))
yezhong 0:e923de71caa5 109 {
yezhong 0:e923de71caa5 110 flag_foot_A = 0;
yezhong 0:e923de71caa5 111 flag_foot_B = 0;
yezhong 0:e923de71caa5 112 Sfootnum = 0;
yezhong 0:e923de71caa5 113 }
yezhong 0:e923de71caa5 114
yezhong 0:e923de71caa5 115 //if((flag_foot_B == 1) && (Sfootnum == 46))
yezhong 0:e923de71caa5 116 if((flag_foot_B == 1) && (Sfootnum == 7))
yezhong 0:e923de71caa5 117 {
yezhong 0:e923de71caa5 118 flag_foot_A = 0;
yezhong 0:e923de71caa5 119 flag_foot_B = 0;
yezhong 0:e923de71caa5 120 Sfootnum = 0;
yezhong 0:e923de71caa5 121
yezhong 0:e923de71caa5 122 // for(unsigned int i = 0; i < 45; i++)
yezhong 0:e923de71caa5 123 for(unsigned int i = 0; i < 6; i++)
yezhong 0:e923de71caa5 124 {
yezhong 0:e923de71caa5 125 // Sfootuse[i] = Sfootget[i] - '0';
yezhong 0:e923de71caa5 126 Sfootuse[i] = Sfootget[i] ;
yezhong 0:e923de71caa5 127 }
yezhong 0:e923de71caa5 128
yezhong 0:e923de71caa5 129 xiedian_decode();
yezhong 0:e923de71caa5 130 xiedian_clear();
yezhong 0:e923de71caa5 131 }
yezhong 0:e923de71caa5 132 }
yezhong 0:e923de71caa5 133 }
yezhong 0:e923de71caa5 134
yezhong 0:e923de71caa5 135 }
yezhong 0:e923de71caa5 136
yezhong 0:e923de71caa5 137
yezhong 0:e923de71caa5 138
yezhong 0:e923de71caa5 139
yezhong 0:e923de71caa5 140
yezhong 0:e923de71caa5 141
yezhong 0:e923de71caa5 142
yezhong 0:e923de71caa5 143
yezhong 0:e923de71caa5 144
yezhong 0:e923de71caa5 145
yezhong 0:e923de71caa5 146
yezhong 0:e923de71caa5 147
yezhong 0:e923de71caa5 148
yezhong 0:e923de71caa5 149
yezhong 0:e923de71caa5 150