Programa de envió de tramas de 42 muestras

Dependencies:   SDFileSystem mbed

Committer:
steven93
Date:
Thu Mar 27 22:07:08 2014 +0000
Revision:
0:572e9bf5c933
Este es el programa que envia tramas de datos de 42 muestras

Who changed what in which revision?

UserRevisionLine numberNew contents of line
steven93 0:572e9bf5c933 1 #include "mbed.h"
steven93 0:572e9bf5c933 2 #include "SDFileSystem.h"
steven93 0:572e9bf5c933 3
steven93 0:572e9bf5c933 4 AnalogIn x(PTB0); //conversion analoga digital
steven93 0:572e9bf5c933 5 AnalogIn y(PTB1); //conversion analoga digital
steven93 0:572e9bf5c933 6 AnalogIn z(PTB2); //conversion analoga digital
steven93 0:572e9bf5c933 7 SDFileSystem sd(PTD2,PTD3,PTD1,PTD0, "sd"); //objeto de la clase SDFileSystem
steven93 0:572e9bf5c933 8 Serial xbee(USBTX,USBRX); //comunicacion USB-SERIAL
steven93 0:572e9bf5c933 9 FILE *file1; //objeto de la clase FILE (archivo)
steven93 0:572e9bf5c933 10 FILE *file2;
steven93 0:572e9bf5c933 11 FILE *file3;
steven93 0:572e9bf5c933 12 char readvar[512];
steven93 0:572e9bf5c933 13 char sent[64];
steven93 0:572e9bf5c933 14 char recv[64];
steven93 0:572e9bf5c933 15 char numero[64];
steven93 0:572e9bf5c933 16 char home;
steven93 0:572e9bf5c933 17 float n;
steven93 0:572e9bf5c933 18 //Timer tempo; //activar el modo temporizador
steven93 0:572e9bf5c933 19 //int tiadc,tfadc,tixb,tfxb; //variables para almacenar el temporizador
steven93 0:572e9bf5c933 20
steven93 0:572e9bf5c933 21 //PTD2:MOSI; cmd
steven93 0:572e9bf5c933 22 //PTD3:MISO; dt0
steven93 0:572e9bf5c933 23 //PTD1:CLCK; clk
steven93 0:572e9bf5c933 24 //PTD0:SS; cd
steven93 0:572e9bf5c933 25
steven93 0:572e9bf5c933 26 int main()
steven93 0:572e9bf5c933 27 {
steven93 0:572e9bf5c933 28 home:
steven93 0:572e9bf5c933 29 xbee.baud(9600);
steven93 0:572e9bf5c933 30 xbee.printf("inicio del programa\n\r");
steven93 0:572e9bf5c933 31
steven93 0:572e9bf5c933 32 file1=fopen("/sd/eje x.doc","w"); // para abrir el archivo en modo escritura
steven93 0:572e9bf5c933 33 file2=fopen("/sd/eje y.doc","w"); // para abrir el archivo en modo escritura
steven93 0:572e9bf5c933 34 file3=fopen("/sd/eje z.doc","w"); // para abrir el archivo en modo escritura
steven93 0:572e9bf5c933 35 wait(1);
steven93 0:572e9bf5c933 36
steven93 0:572e9bf5c933 37 xbee.printf("\nintroduzca numero de tiras ");
steven93 0:572e9bf5c933 38 xbee.scanf("%s",numero);
steven93 0:572e9bf5c933 39 n=atoi(numero);
steven93 0:572e9bf5c933 40
steven93 0:572e9bf5c933 41 xbee.printf("inicio de la coversion analoga digital\n\r");
steven93 0:572e9bf5c933 42 xbee.printf("porfavor espere..\n\r");
steven93 0:572e9bf5c933 43
steven93 0:572e9bf5c933 44 //tempo.start(); //inicio del temporizador
steven93 0:572e9bf5c933 45 //tiadc=tempo.read_us(); //almacena el dato en el que esta el temporizador
steven93 0:572e9bf5c933 46 for(int tira=0;tira<n; tira++)
steven93 0:572e9bf5c933 47 {
steven93 0:572e9bf5c933 48 for(int i=0; i<42; i++) //ciclo for repite 5 veces
steven93 0:572e9bf5c933 49 {
steven93 0:572e9bf5c933 50 fprintf(file1,"%f\n ",x.read()); //escribir en el archivo 1
steven93 0:572e9bf5c933 51 fprintf(file2,"%f\n ",y.read()); //escribir en el archivo 2
steven93 0:572e9bf5c933 52 fprintf(file3,"%f\n ",z.read()); //escribir en el archivo 3
steven93 0:572e9bf5c933 53 }
steven93 0:572e9bf5c933 54 }
steven93 0:572e9bf5c933 55 //tfadc=tempo.read_us(); //almacena el dato en el que esta el temporizador
steven93 0:572e9bf5c933 56
steven93 0:572e9bf5c933 57 fclose(file1); //cerrar el archivo
steven93 0:572e9bf5c933 58 fclose(file2); //cerrar el archivo
steven93 0:572e9bf5c933 59 fclose(file3); //cerrar el archivo
steven93 0:572e9bf5c933 60
steven93 0:572e9bf5c933 61 xbee.printf("fin de la convercion analogo digital\n\r");
steven93 0:572e9bf5c933 62 wait(2);
steven93 0:572e9bf5c933 63
steven93 0:572e9bf5c933 64 xbee.printf("iniciando transmision de datos de la SD\n\r");
steven93 0:572e9bf5c933 65 wait(1);
steven93 0:572e9bf5c933 66
steven93 0:572e9bf5c933 67 file1=fopen("/sd/eje x.txt","r"); // para abrir el archivo en modo lectura
steven93 0:572e9bf5c933 68 file2=fopen("/sd/eje y.txt","r"); // para abrir el archivo en modo lectura
steven93 0:572e9bf5c933 69 file3=fopen("/sd/eje z.txt","r"); // para abrir el archivo en modo lectura
steven93 0:572e9bf5c933 70
steven93 0:572e9bf5c933 71 //tixb=tempo.read_us();
steven93 0:572e9bf5c933 72 for(int tira=0;tira<n; tira++)
steven93 0:572e9bf5c933 73 {
steven93 0:572e9bf5c933 74 for(int i=0; i<42; i++) //lee 5 datos de cada archivo
steven93 0:572e9bf5c933 75 {
steven93 0:572e9bf5c933 76 fscanf(file1, "\n\r%s", readvar);
steven93 0:572e9bf5c933 77 xbee.printf("%s", readvar );
steven93 0:572e9bf5c933 78 fscanf(file2, "\n\r%s", readvar);
steven93 0:572e9bf5c933 79 xbee.printf("%s", readvar );
steven93 0:572e9bf5c933 80 fscanf(file3, "\n\r%s", readvar);
steven93 0:572e9bf5c933 81 xbee.printf("%s", readvar );
steven93 0:572e9bf5c933 82 }
steven93 0:572e9bf5c933 83 xbee.printf("%s\n\r");
steven93 0:572e9bf5c933 84 }
steven93 0:572e9bf5c933 85 //tfxb=tempo.read_us();
steven93 0:572e9bf5c933 86 fclose(file1);
steven93 0:572e9bf5c933 87 fclose(file2);
steven93 0:572e9bf5c933 88 fclose(file3);
steven93 0:572e9bf5c933 89
steven93 0:572e9bf5c933 90 xbee.printf("transmision realizada exitosamente\n\r");
steven93 0:572e9bf5c933 91 wait(2);
steven93 0:572e9bf5c933 92 //xbee.printf("tiempo aproximado de la ADC: %d us\n\r",tfadc-tiadc); //mostrar el tiempo utilizado en la adc
steven93 0:572e9bf5c933 93 //xbee.printf("tiempo aproximado de transmision: %d us\n\r",tfxb-tixb); //mostrar el tiempo utilizado en la transmision
steven93 0:572e9bf5c933 94 xbee.printf("fin del programa\n\r");
steven93 0:572e9bf5c933 95
steven93 0:572e9bf5c933 96 xbee.printf("Presione tecla r para reiniciar el programa\n");
steven93 0:572e9bf5c933 97 char c =xbee.getc();
steven93 0:572e9bf5c933 98 if((c == 'r'))
steven93 0:572e9bf5c933 99 goto home;
steven93 0:572e9bf5c933 100 }