inicia con un mensaje que explica las opciones que tiene el usuario, digitando la letra m realiza ADC, con la letra r envia los datos inalambricamente y con la letra t muestra el tiempo que se demoro en hacer la ADC y la transmision.
Dependencies: SDFileSystem mbed
main.cpp@0:3a2d3a9789b5, 2014-04-02 (annotated)
- Committer:
- steven93
- Date:
- Wed Apr 02 01:18:04 2014 +0000
- Revision:
- 0:3a2d3a9789b5
mote final 3
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
steven93 | 0:3a2d3a9789b5 | 1 | #include "mbed.h" |
steven93 | 0:3a2d3a9789b5 | 2 | #include "SDFileSystem.h" |
steven93 | 0:3a2d3a9789b5 | 3 | |
steven93 | 0:3a2d3a9789b5 | 4 | |
steven93 | 0:3a2d3a9789b5 | 5 | |
steven93 | 0:3a2d3a9789b5 | 6 | AnalogIn x(PTB0); //conversion analoga digital |
steven93 | 0:3a2d3a9789b5 | 7 | AnalogIn y(PTB1); //conversion analoga digital |
steven93 | 0:3a2d3a9789b5 | 8 | AnalogIn z(PTB2); //conversion analoga digital |
steven93 | 0:3a2d3a9789b5 | 9 | SDFileSystem sd(PTD2,PTD3,PTD1,PTD0, "sd"); //objeto de la clase SDFileSystem |
steven93 | 0:3a2d3a9789b5 | 10 | Serial xbee(USBTX,USBRX); //comunicacion USB-SERIAL |
steven93 | 0:3a2d3a9789b5 | 11 | FILE *file1; //objeto de la clase FILE (archivo) |
steven93 | 0:3a2d3a9789b5 | 12 | |
steven93 | 0:3a2d3a9789b5 | 13 | char readvar[512]; |
steven93 | 0:3a2d3a9789b5 | 14 | char sent[64]; |
steven93 | 0:3a2d3a9789b5 | 15 | char recv[64]; |
steven93 | 0:3a2d3a9789b5 | 16 | char numero[64]; |
steven93 | 0:3a2d3a9789b5 | 17 | char home; |
steven93 | 0:3a2d3a9789b5 | 18 | float n; |
steven93 | 0:3a2d3a9789b5 | 19 | Timer tempo; //activar el modo temporizador |
steven93 | 0:3a2d3a9789b5 | 20 | int tiadc,tfadc,tixb,tfxb; //variables para almacenar el temporizador |
steven93 | 0:3a2d3a9789b5 | 21 | |
steven93 | 0:3a2d3a9789b5 | 22 | int main() { |
steven93 | 0:3a2d3a9789b5 | 23 | |
steven93 | 0:3a2d3a9789b5 | 24 | xbee.baud(9600); |
steven93 | 0:3a2d3a9789b5 | 25 | tempo.start(); //inicio del temporizador |
steven93 | 0:3a2d3a9789b5 | 26 | xbee.printf("Presione m para realizar la ADC\n\r"); |
steven93 | 0:3a2d3a9789b5 | 27 | xbee.printf("Presione r para realizar la transmision de datos\n\r"); |
steven93 | 0:3a2d3a9789b5 | 28 | xbee.printf("Presione t para visualizar el tiempo\n\r"); |
steven93 | 0:3a2d3a9789b5 | 29 | |
steven93 | 0:3a2d3a9789b5 | 30 | while(1) { |
steven93 | 0:3a2d3a9789b5 | 31 | char c = xbee.getc(); |
steven93 | 0:3a2d3a9789b5 | 32 | if((c == 'm')) { |
steven93 | 0:3a2d3a9789b5 | 33 | |
steven93 | 0:3a2d3a9789b5 | 34 | file1=fopen("/sd/eje x.doc","w"); // para abrir el archivo en modo escritura |
steven93 | 0:3a2d3a9789b5 | 35 | xbee.printf("\nintroduzca numero de tiras "); |
steven93 | 0:3a2d3a9789b5 | 36 | xbee.scanf("%s",numero); |
steven93 | 0:3a2d3a9789b5 | 37 | n=atoi(numero); |
steven93 | 0:3a2d3a9789b5 | 38 | tiadc=tempo.read_us(); //almacena el dato en el que esta el temporizador |
steven93 | 0:3a2d3a9789b5 | 39 | for(int tira=0;tira<n; tira++) |
steven93 | 0:3a2d3a9789b5 | 40 | { |
steven93 | 0:3a2d3a9789b5 | 41 | for(int i=0; i<42; i++) //ciclo for repite 5 veces |
steven93 | 0:3a2d3a9789b5 | 42 | { |
steven93 | 0:3a2d3a9789b5 | 43 | fprintf(file1,"%f\n ",x.read()); //escribir en el archivo 1 |
steven93 | 0:3a2d3a9789b5 | 44 | fprintf(file1,"%f\n ",y.read()); //escribir en el archivo 2 |
steven93 | 0:3a2d3a9789b5 | 45 | fprintf(file1,"%f\n ",z.read()); //escribir en el archivo 3 |
steven93 | 0:3a2d3a9789b5 | 46 | } |
steven93 | 0:3a2d3a9789b5 | 47 | } |
steven93 | 0:3a2d3a9789b5 | 48 | tfadc=tempo.read_us(); //almacena el dato en el que esta el temporizador |
steven93 | 0:3a2d3a9789b5 | 49 | fclose(file1); //cerrar el archivo |
steven93 | 0:3a2d3a9789b5 | 50 | xbee.printf("fin de la convercion analogo digital\n\r"); |
steven93 | 0:3a2d3a9789b5 | 51 | } |
steven93 | 0:3a2d3a9789b5 | 52 | |
steven93 | 0:3a2d3a9789b5 | 53 | if((c == 'r')) { |
steven93 | 0:3a2d3a9789b5 | 54 | |
steven93 | 0:3a2d3a9789b5 | 55 | file1=fopen("/sd/eje x.doc","r"); // para abrir el archivo en modo lectura |
steven93 | 0:3a2d3a9789b5 | 56 | tixb=tempo.read_us(); |
steven93 | 0:3a2d3a9789b5 | 57 | for(int tira=0;tira<n; tira++) |
steven93 | 0:3a2d3a9789b5 | 58 | { |
steven93 | 0:3a2d3a9789b5 | 59 | for(int i=0; i<42; i++) //lee 5 datos de cada archivo |
steven93 | 0:3a2d3a9789b5 | 60 | { |
steven93 | 0:3a2d3a9789b5 | 61 | fscanf(file1, "\n\r%s", readvar); |
steven93 | 0:3a2d3a9789b5 | 62 | xbee.printf("%s", readvar ); |
steven93 | 0:3a2d3a9789b5 | 63 | fscanf(file1, "\n\r%s", readvar); |
steven93 | 0:3a2d3a9789b5 | 64 | xbee.printf("%s", readvar ); |
steven93 | 0:3a2d3a9789b5 | 65 | fscanf(file1, "\n\r%s", readvar); |
steven93 | 0:3a2d3a9789b5 | 66 | xbee.printf("%s", readvar ); |
steven93 | 0:3a2d3a9789b5 | 67 | } |
steven93 | 0:3a2d3a9789b5 | 68 | } |
steven93 | 0:3a2d3a9789b5 | 69 | tfxb=tempo.read_us(); |
steven93 | 0:3a2d3a9789b5 | 70 | fclose(file1); |
steven93 | 0:3a2d3a9789b5 | 71 | xbee.printf("\n\rtransmision realizada exitosamente\n\r"); |
steven93 | 0:3a2d3a9789b5 | 72 | } |
steven93 | 0:3a2d3a9789b5 | 73 | |
steven93 | 0:3a2d3a9789b5 | 74 | if((c == 't')) { |
steven93 | 0:3a2d3a9789b5 | 75 | |
steven93 | 0:3a2d3a9789b5 | 76 | xbee.printf("\n\rtiempo aproximado de la ADC: %d us\n\r",tfadc-tiadc); //mostrar el tiempo utilizado en la adc |
steven93 | 0:3a2d3a9789b5 | 77 | xbee.printf("tiempo aproximado de transmision: %d us\n\r",tfxb-tixb); //mostrar el tiempo utilizado en la transmision |
steven93 | 0:3a2d3a9789b5 | 78 | } |
steven93 | 0:3a2d3a9789b5 | 79 | } |
steven93 | 0:3a2d3a9789b5 | 80 | |
steven93 | 0:3a2d3a9789b5 | 81 | } |