Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@2:a2b90ac0b81b, 2013-07-11 (annotated)
- Committer:
- jlpalaci
- Date:
- Thu Jul 11 00:31:52 2013 +0000
- Revision:
- 2:a2b90ac0b81b
- Parent:
- 0:1eb268d3d14e
- Child:
- 3:8125d6b7afff
Protocolo de comunicaci?n establecido mediante el env?o de caracteres: s, inicia conversi?n y almacenamiento de datos; o, abre el archivo de datos; r, lee el buffer y envia un paquete de 504 caracteres; c, cierra el archivo.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| jlpalaci | 0:1eb268d3d14e | 1 | #include "mbed.h" |
| jlpalaci | 0:1eb268d3d14e | 2 | #include "SDFileSystem.h" |
| jlpalaci | 0:1eb268d3d14e | 3 | |
| jlpalaci | 0:1eb268d3d14e | 4 | //Pines de conversión A/D asociados a los ejes del acelerómetro triaxial MMA7361L |
| jlpalaci | 0:1eb268d3d14e | 5 | AnalogIn ain_x(PTB0); |
| jlpalaci | 0:1eb268d3d14e | 6 | AnalogIn ain_y(PTB1); |
| jlpalaci | 0:1eb268d3d14e | 7 | AnalogIn ain_z(PTB2); |
| jlpalaci | 0:1eb268d3d14e | 8 | //Pines digitales para configurar el acelerómetro triaxial MMA7361L |
| jlpalaci | 0:1eb268d3d14e | 9 | DigitalOut slp(PTB3); |
| jlpalaci | 0:1eb268d3d14e | 10 | DigitalOut g_sel(PTC2); |
| jlpalaci | 0:1eb268d3d14e | 11 | //Cronómetro |
| jlpalaci | 0:1eb268d3d14e | 12 | Timer reloj; |
| jlpalaci | 0:1eb268d3d14e | 13 | //SD FAT system |
| jlpalaci | 0:1eb268d3d14e | 14 | SDFileSystem sd(PTD2, PTD3, PTD1, PTD0,"sd"); |
| jlpalaci | 0:1eb268d3d14e | 15 | //Comunicación Xbee |
| jlpalaci | 0:1eb268d3d14e | 16 | Serial xbee(PTA2,PTA1); |
| jlpalaci | 0:1eb268d3d14e | 17 | |
| jlpalaci | 2:a2b90ac0b81b | 18 | #define muestreo 2 |
| jlpalaci | 0:1eb268d3d14e | 19 | FILE * fp1; |
| jlpalaci | 0:1eb268d3d14e | 20 | FILE * fp2; |
| jlpalaci | 2:a2b90ac0b81b | 21 | int inicio = 0; |
| jlpalaci | 2:a2b90ac0b81b | 22 | int fin = 0; |
| jlpalaci | 2:a2b90ac0b81b | 23 | int j = 0; |
| jlpalaci | 0:1eb268d3d14e | 24 | char read [64] = {0}; |
| jlpalaci | 0:1eb268d3d14e | 25 | char readvar [64] = {0}; |
| jlpalaci | 0:1eb268d3d14e | 26 | |
| jlpalaci | 0:1eb268d3d14e | 27 | int main() |
| jlpalaci | 0:1eb268d3d14e | 28 | { |
| jlpalaci | 0:1eb268d3d14e | 29 | xbee.baud(4800); |
| jlpalaci | 0:1eb268d3d14e | 30 | slp = 1; //Habilitado el modo de operación normal (MMA7361L) |
| jlpalaci | 0:1eb268d3d14e | 31 | g_sel = 0; //Ajusta la sensibilidad a 1.5g (cambiar a 1 para ajustar sensibilidad a 6g) |
| jlpalaci | 0:1eb268d3d14e | 32 | |
| jlpalaci | 0:1eb268d3d14e | 33 | while(1) { |
| jlpalaci | 0:1eb268d3d14e | 34 | read [0] = 0; |
| jlpalaci | 2:a2b90ac0b81b | 35 | while(read[0]==0) if(xbee.readable()) read [0] = xbee.getc(); |
| jlpalaci | 0:1eb268d3d14e | 36 | |
| jlpalaci | 2:a2b90ac0b81b | 37 | switch(read[0]) { |
| jlpalaci | 2:a2b90ac0b81b | 38 | case 's': |
| jlpalaci | 2:a2b90ac0b81b | 39 | fp1 = fopen ("/sd/test.txt","w"); |
| jlpalaci | 0:1eb268d3d14e | 40 | |
| jlpalaci | 2:a2b90ac0b81b | 41 | reloj.start(); |
| jlpalaci | 2:a2b90ac0b81b | 42 | inicio=reloj.read_us(); |
| jlpalaci | 0:1eb268d3d14e | 43 | |
| jlpalaci | 2:a2b90ac0b81b | 44 | for (int i=0; i<125; i++) fprintf (fp1,"%04X%04X%04X\n",ain_x.read_u16(),ain_y.read_u16(),ain_z.read_u16()); |
| jlpalaci | 2:a2b90ac0b81b | 45 | fin = reloj.read_us (); |
| jlpalaci | 2:a2b90ac0b81b | 46 | fprintf (fp1,"%012d\n",fin-inicio); |
| jlpalaci | 2:a2b90ac0b81b | 47 | fclose (fp1); |
| jlpalaci | 2:a2b90ac0b81b | 48 | break; |
| jlpalaci | 2:a2b90ac0b81b | 49 | case 'o': |
| jlpalaci | 2:a2b90ac0b81b | 50 | fp2 = fopen ("/sd/test.txt","r"); |
| jlpalaci | 2:a2b90ac0b81b | 51 | break; |
| jlpalaci | 2:a2b90ac0b81b | 52 | case 'r': |
| jlpalaci | 2:a2b90ac0b81b | 53 | for (int i=0; i<42; i++) { |
| jlpalaci | 2:a2b90ac0b81b | 54 | fscanf (fp2,"%s",readvar); |
| jlpalaci | 2:a2b90ac0b81b | 55 | xbee.printf("%s",readvar); |
| jlpalaci | 2:a2b90ac0b81b | 56 | } |
| jlpalaci | 2:a2b90ac0b81b | 57 | xbee.putc('\n'); |
| jlpalaci | 2:a2b90ac0b81b | 58 | break; |
| jlpalaci | 2:a2b90ac0b81b | 59 | case 'c': |
| jlpalaci | 2:a2b90ac0b81b | 60 | fclose (fp2); |
| jlpalaci | 2:a2b90ac0b81b | 61 | break; |
| jlpalaci | 0:1eb268d3d14e | 62 | } |
| jlpalaci | 0:1eb268d3d14e | 63 | } |
| jlpalaci | 0:1eb268d3d14e | 64 | } |