Programa de envió de tramas de 42 muestras
Dependencies: SDFileSystem mbed
main.cpp@0:572e9bf5c933, 2014-03-27 (annotated)
- 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?
User | Revision | Line number | New 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 | } |