11

Dependencies:   mbed-dev-f303

Committer:
yezhong
Date:
Fri Aug 06 09:03:02 2021 +0000
Revision:
2:9418258519ea
Parent:
0:dd5d4837292c
111

Who changed what in which revision?

UserRevisionLine numberNew contents of line
panzhan 0:dd5d4837292c 1 #include "data_board.h"
panzhan 0:dd5d4837292c 2
panzhan 0:dd5d4837292c 3
panzhan 0:dd5d4837292c 4
panzhan 0:dd5d4837292c 5
panzhan 0:dd5d4837292c 6 Serial foot(PA_9, PA_10); // tx, rx U1
panzhan 0:dd5d4837292c 7
panzhan 0:dd5d4837292c 8 unsigned int flag_foot_A = 0, flag_foot_B = 0;
panzhan 0:dd5d4837292c 9 unsigned int Sfootnum = 0;
panzhan 0:dd5d4837292c 10
yezhong 2:9418258519ea 11 uint8_t Sfootget[30] = {0};
yezhong 2:9418258519ea 12 uint8_t Sfootuse[30] = {0};
panzhan 0:dd5d4837292c 13
yezhong 2:9418258519ea 14 uint16_t shou[15]={0};
yezhong 2:9418258519ea 15 float shou1[15]={0};
panzhan 0:dd5d4837292c 16
panzhan 0:dd5d4837292c 17
panzhan 0:dd5d4837292c 18
yezhong 2:9418258519ea 19
panzhan 0:dd5d4837292c 20
panzhan 0:dd5d4837292c 21
panzhan 0:dd5d4837292c 22 void gait_decode()
yezhong 2:9418258519ea 23 {
yezhong 2:9418258519ea 24 for(int i = 0; i < 15; i++)
yezhong 2:9418258519ea 25 {
yezhong 2:9418258519ea 26 shou[i]=(Sfootuse[2*i]<<8)|Sfootuse[2*i+1];
yezhong 2:9418258519ea 27 }
yezhong 2:9418258519ea 28 for(int i = 0; i < 15; i++)
yezhong 2:9418258519ea 29 {
yezhong 2:9418258519ea 30 shou1[i]=(float)shou[i]/4096*3.3;
yezhong 2:9418258519ea 31 }
yezhong 2:9418258519ea 32 pc.printf("%2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f\r\n",shou1[6],shou1[7],shou1[8],shou1[9],shou1[10],shou1[11],shou1[12],shou1[13],shou1[14]);
panzhan 0:dd5d4837292c 33 }
panzhan 0:dd5d4837292c 34
panzhan 0:dd5d4837292c 35 void gait_clear()
panzhan 0:dd5d4837292c 36 {
yezhong 2:9418258519ea 37 for(int i = 0; i < 30; i++){
panzhan 0:dd5d4837292c 38 Sfootuse[i] = 0;
panzhan 0:dd5d4837292c 39 }
panzhan 0:dd5d4837292c 40 }
panzhan 0:dd5d4837292c 41
panzhan 0:dd5d4837292c 42
panzhan 0:dd5d4837292c 43 void serial_board_isr(void)
panzhan 0:dd5d4837292c 44 {
panzhan 0:dd5d4837292c 45 // pc.printf("begin\n");
panzhan 0:dd5d4837292c 46 while(foot.readable())
panzhan 0:dd5d4837292c 47 {
yezhong 2:9418258519ea 48 uint8_t c = foot.getc();
yezhong 2:9418258519ea 49 if(c ==0x0A)
panzhan 0:dd5d4837292c 50 {
panzhan 0:dd5d4837292c 51 flag_foot_A = 1;
panzhan 0:dd5d4837292c 52
panzhan 0:dd5d4837292c 53 flag_foot_B = 0;
panzhan 0:dd5d4837292c 54 Sfootnum = 0;
yezhong 2:9418258519ea 55 for(unsigned int i = 0; i < 30; i++)
panzhan 0:dd5d4837292c 56 {
panzhan 0:dd5d4837292c 57 Sfootget[i] = 0;
panzhan 0:dd5d4837292c 58 }
panzhan 0:dd5d4837292c 59
panzhan 0:dd5d4837292c 60 break;
panzhan 0:dd5d4837292c 61 }
yezhong 2:9418258519ea 62 if(c ==0x0B)
panzhan 0:dd5d4837292c 63 {
panzhan 0:dd5d4837292c 64 flag_foot_B = 1;
panzhan 0:dd5d4837292c 65 }
panzhan 0:dd5d4837292c 66
panzhan 0:dd5d4837292c 67 if(flag_foot_A == 1)
panzhan 0:dd5d4837292c 68 {
yezhong 2:9418258519ea 69 if((flag_foot_B != 1) && (Sfootnum < 30))
panzhan 0:dd5d4837292c 70 {
panzhan 0:dd5d4837292c 71 Sfootget[Sfootnum] = c;
panzhan 0:dd5d4837292c 72 }
panzhan 0:dd5d4837292c 73
panzhan 0:dd5d4837292c 74 Sfootnum++;
panzhan 0:dd5d4837292c 75
yezhong 2:9418258519ea 76 if((flag_foot_B == 1) && (Sfootnum != 31))
panzhan 0:dd5d4837292c 77 {
panzhan 0:dd5d4837292c 78 flag_foot_A = 0;
panzhan 0:dd5d4837292c 79 flag_foot_B = 0;
panzhan 0:dd5d4837292c 80 Sfootnum = 0;
panzhan 0:dd5d4837292c 81 }
panzhan 0:dd5d4837292c 82
yezhong 2:9418258519ea 83 if((flag_foot_B == 1) && (Sfootnum == 31))
panzhan 0:dd5d4837292c 84 {
panzhan 0:dd5d4837292c 85 flag_foot_A = 0;
panzhan 0:dd5d4837292c 86 flag_foot_B = 0;
panzhan 0:dd5d4837292c 87 Sfootnum = 0;
panzhan 0:dd5d4837292c 88
yezhong 2:9418258519ea 89 for(unsigned int i = 0; i < 30; i++)
panzhan 0:dd5d4837292c 90 {
yezhong 2:9418258519ea 91 // Sfootuse[i] = Sfootget[i] - '0';
yezhong 2:9418258519ea 92 Sfootuse[i] = Sfootget[i] ;
panzhan 0:dd5d4837292c 93 }
panzhan 0:dd5d4837292c 94
panzhan 0:dd5d4837292c 95 gait_decode();
panzhan 0:dd5d4837292c 96 gait_clear();
panzhan 0:dd5d4837292c 97 }
panzhan 0:dd5d4837292c 98 }
panzhan 0:dd5d4837292c 99 }
panzhan 0:dd5d4837292c 100 }