es una versión mejorada que no requiere suiche y da mas informacion
Fork of CAPTURAS_IRDA by
main.cpp
- Committer:
- tony63
- Date:
- 2017-03-24
- Revision:
- 2:d189b5862909
- Parent:
- 1:69f833c768c8
- Child:
- 3:0e1e959c2f4f
File content as of revision 2:d189b5862909:
//ESTA VERSION PROPORCIONA EL VECTOR DE LA TECLA PULSADA EN EL SEGUNDO MODO O CON EL SUICHE EN BAJO //PARA MANDOS DE 31 BITS QUe EN CASO DE SER INCOSTISTENTES SE PUEDEN MODIFICAR //entrega las dos cabeceras alta y baja segun el modo #include "mbed.h" #include <Pulse1.h> PulseInOut irda(PTD5);// en este puerto se pone el sensor infrarrojo Serial pc(USBTX, USBRX); DigitalOut led1(LED1); DigitalOut led2(LED2); int numN[35];//cadena para almacenar todos los tiempos que conforman los bits de datos int numP[35];//cadena para almacenar todos los tiempos que conforman los bits de datos int bin[35];//cadena para almacenar todos los tiempos que conforman los bits de datos int dato; // tiempo de cada dato que se lee int pul_low; int i,j,k,header,proL,proH; int r; int mode=1; int code; int numb=32; int main(){ pc.printf("\n"); pc.printf("este codigo es para 32 bits de datos"); pc.printf("\n"); pc.printf("pise reset para otro codigo"); pc.printf("\n"); fflush( stdin ); lop1: if(mode){ header = irda.read_low_us(); if(header>8000) goto seguir1; goto lop1; } lop2: if(!mode){ header = irda.read_high_us(); if(header>3500) goto seguir2; goto lop2; } seguir1: for(i=0;i<numb;++i){ numN[i] = irda.read_low_us(); //funcion para leer un pulso bajo } for(i=0;i<numb;++i){ pc.printf("%d,",numN[i]); } pc.printf("\n"); pc.printf("HeaderL=%d \n",header," uS"); header=0; for(i=0;i<numb;++i){ proL=numN[i]+proL; } pc.printf("\n"); pc.printf("prom_bajos=%d", proL/numb); pc.printf("\n"); pc.printf("Si el promedio bajos es mas grande de lo normal, baje en numb en el codigo y recompile"); wait(2); header=0; proL=0; pc.printf("\n"); pc.printf("dispare de nuevo para altos"); mode=!mode; pc.printf("\n"); goto lop1; seguir2: for(i=0;i<numb;++i){ numP[i] = irda.read_high_us(); //funcion para leer un pulso alto } for(i=0;i<numb;++i){ pc.printf("%d,",numP[i]); } pc.printf("\n"); pc.printf("copie esta cadena de arriba en su programa"); pc.printf("\n"); pc.printf("HeadeH=%d \n",header," uS"); header=0; wait(2); goto lop1; }