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

Committer:
steven93
Date:
Wed Apr 02 01:18:04 2014 +0000
Revision:
0:3a2d3a9789b5
mote final 3

Who changed what in which revision?

UserRevisionLine numberNew 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 }