a

Dependencies:   SDFileSystem mbed

Committer:
Aomolry
Date:
Sun Jun 04 05:48:41 2017 +0000
Revision:
0:db41877d7462
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Aomolry 0:db41877d7462 1 #include "mbed.h"
Aomolry 0:db41877d7462 2 #include "SDFileSystem.h"
Aomolry 0:db41877d7462 3
Aomolry 0:db41877d7462 4 Serial pc(USBTX,USBRX);
Aomolry 0:db41877d7462 5 SDFileSystem sd(p5,p6,p7,p8,"sd");
Aomolry 0:db41877d7462 6 Ticker ADtimer;
Aomolry 0:db41877d7462 7 AnalogIn amp1(p15);
Aomolry 0:db41877d7462 8 AnalogIn amp2(p20);
Aomolry 0:db41877d7462 9 DigitalOut led1(LED1);
Aomolry 0:db41877d7462 10 DigitalOut led2(LED2);
Aomolry 0:db41877d7462 11 DigitalOut led3(LED3);
Aomolry 0:db41877d7462 12 DigitalOut led4(LED4);
Aomolry 0:db41877d7462 13
Aomolry 0:db41877d7462 14 unsigned short a_val1[500][5];
Aomolry 0:db41877d7462 15 unsigned short a_val2[500][5];
Aomolry 0:db41877d7462 16 unsigned int count[500][5];
Aomolry 0:db41877d7462 17 unsigned int count1 = 0;
Aomolry 0:db41877d7462 18 unsigned short gyo=0,retu=0,sdretu1,sdretu2,flag=0;
Aomolry 0:db41877d7462 19
Aomolry 0:db41877d7462 20 void adread()
Aomolry 0:db41877d7462 21 {
Aomolry 0:db41877d7462 22 count1++;
Aomolry 0:db41877d7462 23 a_val1[gyo][retu] = amp1.read_u16() >> 4;
Aomolry 0:db41877d7462 24 a_val2[gyo][retu] = amp2.read_u16() >> 4;
Aomolry 0:db41877d7462 25 count[gyo][retu] = count1;
Aomolry 0:db41877d7462 26 gyo++;
Aomolry 0:db41877d7462 27
Aomolry 0:db41877d7462 28 if(gyo == 500){
Aomolry 0:db41877d7462 29 flag = 1;
Aomolry 0:db41877d7462 30 gyo = 0;
Aomolry 0:db41877d7462 31 sdretu1 = retu;
Aomolry 0:db41877d7462 32 retu++;
Aomolry 0:db41877d7462 33 if(retu == 5)
Aomolry 0:db41877d7462 34 retu = 0;
Aomolry 0:db41877d7462 35 }
Aomolry 0:db41877d7462 36
Aomolry 0:db41877d7462 37 if((count1%1000)==0) pc.printf("%d,%d\n",a_val1[gyo][retu],a_val2[gyo][retu]);
Aomolry 0:db41877d7462 38 }
Aomolry 0:db41877d7462 39
Aomolry 0:db41877d7462 40 int main() {
Aomolry 0:db41877d7462 41 led1 = 1;
Aomolry 0:db41877d7462 42 pc.printf("Start up!\r\n");
Aomolry 0:db41877d7462 43 ADtimer.attach(&adread,0.001);
Aomolry 0:db41877d7462 44
Aomolry 0:db41877d7462 45 while(1) {
Aomolry 0:db41877d7462 46 if(flag == 1){
Aomolry 0:db41877d7462 47 flag = 0;
Aomolry 0:db41877d7462 48 sdretu2 = sdretu1;
Aomolry 0:db41877d7462 49 led2 = 1;
Aomolry 0:db41877d7462 50 FILE *fp = fopen("/sd/sd.csv","a");
Aomolry 0:db41877d7462 51 if(fp == NULL)
Aomolry 0:db41877d7462 52 led4 = 1;
Aomolry 0:db41877d7462 53 else
Aomolry 0:db41877d7462 54 led2 = 1;
Aomolry 0:db41877d7462 55 for(int i=0;i<500;i++){
Aomolry 0:db41877d7462 56 if(count[i][sdretu2]==1) fprintf(fp, "count, loadcell, pressure\n");
Aomolry 0:db41877d7462 57 fprintf(fp, "%d,%d,%d\n",count[i][sdretu2],a_val1[i][sdretu2],a_val2[i][sdretu2]);
Aomolry 0:db41877d7462 58 }
Aomolry 0:db41877d7462 59 fclose(fp);
Aomolry 0:db41877d7462 60 led2 = 0;
Aomolry 0:db41877d7462 61 }
Aomolry 0:db41877d7462 62 }
Aomolry 0:db41877d7462 63 }