es una versión mejorada que no requiere suiche y da mas informacion

Dependencies:   mbed Pulse1

Fork of CAPTURAS_IRDA by Gustavo Ramirez

Committer:
tony63
Date:
Fri Mar 24 08:29:48 2017 +0000
Revision:
2:d189b5862909
Parent:
1:69f833c768c8
Child:
3:0e1e959c2f4f
versi?n mejorada del anterior no requiere suiche

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tony63 2:d189b5862909 1 //ESTA VERSION PROPORCIONA EL VECTOR DE LA TECLA PULSADA EN EL SEGUNDO MODO O CON EL SUICHE EN BAJO
tony63 2:d189b5862909 2 //PARA MANDOS DE 31 BITS QUe EN CASO DE SER INCOSTISTENTES SE PUEDEN MODIFICAR
tony63 2:d189b5862909 3 //entrega las dos cabeceras alta y baja segun el modo
tony63 0:86c0c1652dd4 4 #include "mbed.h"
tony63 0:86c0c1652dd4 5 #include <Pulse1.h>
tony63 0:86c0c1652dd4 6 PulseInOut irda(PTD5);// en este puerto se pone el sensor infrarrojo
tony63 0:86c0c1652dd4 7
tony63 0:86c0c1652dd4 8 Serial pc(USBTX, USBRX);
tony63 2:d189b5862909 9 DigitalOut led1(LED1);
tony63 0:86c0c1652dd4 10 DigitalOut led2(LED2);
tony63 1:69f833c768c8 11 int numN[35];//cadena para almacenar todos los tiempos que conforman los bits de datos
tony63 1:69f833c768c8 12 int numP[35];//cadena para almacenar todos los tiempos que conforman los bits de datos
tony63 1:69f833c768c8 13 int bin[35];//cadena para almacenar todos los tiempos que conforman los bits de datos
tony63 0:86c0c1652dd4 14 int dato; // tiempo de cada dato que se lee
tony63 0:86c0c1652dd4 15 int pul_low;
tony63 0:86c0c1652dd4 16 int i,j,k,header,proL,proH;
tony63 1:69f833c768c8 17 int r;
tony63 2:d189b5862909 18 int mode=1;
tony63 2:d189b5862909 19 int code;
tony63 2:d189b5862909 20 int numb=32;
tony63 0:86c0c1652dd4 21 int main(){
tony63 2:d189b5862909 22 pc.printf("\n");
tony63 2:d189b5862909 23 pc.printf("este codigo es para 32 bits de datos");
tony63 2:d189b5862909 24 pc.printf("\n");
tony63 2:d189b5862909 25 pc.printf("pise reset para otro codigo");
tony63 2:d189b5862909 26 pc.printf("\n");
tony63 0:86c0c1652dd4 27 fflush( stdin );
tony63 2:d189b5862909 28 lop1: if(mode){
tony63 2:d189b5862909 29 header = irda.read_low_us();
tony63 2:d189b5862909 30 if(header>8000) goto seguir1;
tony63 0:86c0c1652dd4 31 goto lop1;
tony63 2:d189b5862909 32 }
tony63 2:d189b5862909 33
tony63 2:d189b5862909 34 lop2: if(!mode){
tony63 2:d189b5862909 35 header = irda.read_high_us();
tony63 2:d189b5862909 36 if(header>3500) goto seguir2;
tony63 2:d189b5862909 37 goto lop2;
tony63 2:d189b5862909 38 }
tony63 0:86c0c1652dd4 39
tony63 2:d189b5862909 40 seguir1:
tony63 2:d189b5862909 41 for(i=0;i<numb;++i){
tony63 2:d189b5862909 42 numN[i] = irda.read_low_us(); //funcion para leer un pulso bajo
tony63 2:d189b5862909 43 }
tony63 2:d189b5862909 44 for(i=0;i<numb;++i){
tony63 2:d189b5862909 45 pc.printf("%d,",numN[i]);
tony63 2:d189b5862909 46 }
tony63 2:d189b5862909 47 pc.printf("\n");
tony63 2:d189b5862909 48 pc.printf("HeaderL=%d \n",header," uS");
tony63 2:d189b5862909 49 header=0;
tony63 2:d189b5862909 50 for(i=0;i<numb;++i){
tony63 2:d189b5862909 51 proL=numN[i]+proL;
tony63 2:d189b5862909 52 }
tony63 2:d189b5862909 53 pc.printf("\n");
tony63 2:d189b5862909 54 pc.printf("prom_bajos=%d", proL/numb);
tony63 2:d189b5862909 55 pc.printf("\n");
tony63 2:d189b5862909 56 pc.printf("Si el promedio bajos es mas grande de lo normal, baje en numb en el codigo y recompile");
tony63 2:d189b5862909 57
tony63 2:d189b5862909 58 wait(2);
tony63 2:d189b5862909 59 header=0;
tony63 2:d189b5862909 60 proL=0;
tony63 2:d189b5862909 61 pc.printf("\n");
tony63 2:d189b5862909 62 pc.printf("dispare de nuevo para altos");
tony63 2:d189b5862909 63 mode=!mode;
tony63 2:d189b5862909 64 pc.printf("\n");
tony63 2:d189b5862909 65 goto lop1;
tony63 2:d189b5862909 66 seguir2:
tony63 2:d189b5862909 67 for(i=0;i<numb;++i){
tony63 2:d189b5862909 68 numP[i] = irda.read_high_us(); //funcion para leer un pulso alto
tony63 2:d189b5862909 69 }
tony63 2:d189b5862909 70 for(i=0;i<numb;++i){
tony63 2:d189b5862909 71 pc.printf("%d,",numP[i]);
tony63 2:d189b5862909 72 }
tony63 2:d189b5862909 73 pc.printf("\n");
tony63 2:d189b5862909 74 pc.printf("copie esta cadena de arriba en su programa");
tony63 2:d189b5862909 75 pc.printf("\n");
tony63 2:d189b5862909 76 pc.printf("HeadeH=%d \n",header," uS");
tony63 2:d189b5862909 77 header=0;
tony63 2:d189b5862909 78 wait(2);
tony63 2:d189b5862909 79 goto lop1;
tony63 2:d189b5862909 80 }