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

Dependencies:   mbed Pulse1

Fork of CAPTURAS_IRDA by Gustavo Ramirez

main.cpp

Committer:
tony63
Date:
2017-03-18
Revision:
0:86c0c1652dd4
Child:
1:69f833c768c8

File content as of revision 0:86c0c1652dd4:

#include "mbed.h"
#include <Pulse1.h>
PulseInOut irda(PTD5);// en este puerto se pone el sensor infrarrojo

Serial pc(USBTX, USBRX);
DigitalOut led(LED1);
DigitalOut led2(LED2);
DigitalIn  mode(PTD0);
int numN[70];//cadena para almacenar todos los tiempos que conforman los bits de datos
int numP[70];//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 main(){
Timer t;
fflush( stdin );
lop1: header = irda.read_low_us(); 
       if(header>8000) goto seguir;
       goto lop1;
seguir:
      for(i=0;i<35;++i){
      if(mode){
      numN[i] = irda.read_low_us();    //funcion para leer un pulso de caida o bajo en header
      }
      if(!mode){
      numP[i] = irda.read_high_us();    //funcion para leer un pulso de caida o bajo en header
      }
        //funcion para leer un pulso de caida o bajo en header
                       }

       pc.printf("Header=%d \n",header," uS");
       for(i=0;i<36;++i){
       pc.printf(",%d, %d, %d \n",numN[i],i,numP[i]);
       
           if(numN[i]>8000){
           pc.printf("\n");
           pc.printf("espacios=%d\n",i);
           k=i;
           proL=0;
           for(i=0;i<k;++i){
               proL=proL+numN[i];
               }
           proL=proL/k; 
           pc.printf("promedio_E=%d\n",proL);   
           wait(3);
           pc.printf("\n");   
           
             if(!mode){
               for(i=0;i<k-1;++i){
               if(numP[i]>(2*proL)){
                   pc.printf("1");
                                   }   
               if(numP[i]<(2*proL)){
                   pc.printf("0");                    
                                   }
               }
               }                
                              
           goto lop1;
           
           }
       }   
 }