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
00001 #include "mbed.h" 00002 #include <Pulse1.h> 00003 PulseInOut irda(PTD5);// en este puerto se pone el sensor infrarrojo 00004 00005 Serial pc(USBTX, USBRX); 00006 DigitalOut led(LED1); 00007 DigitalOut led2(LED2); 00008 DigitalIn mode(PTD0); 00009 int numN[35];//cadena para almacenar todos los tiempos que conforman los bits de datos 00010 int numP[35];//cadena para almacenar todos los tiempos que conforman los bits de datos 00011 int bin[35];//cadena para almacenar todos los tiempos que conforman los bits de datos 00012 int dato; // tiempo de cada dato que se lee 00013 int pul_low; 00014 int i,j,k,header,proL,proH; 00015 int r; 00016 int code; 00017 int main(){ 00018 00019 fflush( stdin ); 00020 lop1: header = irda.read_low_us(); 00021 if(header>8000) goto seguir; 00022 goto lop1; 00023 seguir: 00024 for(i=0;i<35;++i){ 00025 if(mode){ 00026 numN[i] = irda.read_low_us(); //funcion para leer un pulso de caida o bajo en header 00027 } 00028 if(!mode){ 00029 numP[i] = irda.read_high_us(); //funcion para leer un pulso de caida o bajo en header 00030 } 00031 //funcion para leer un pulso de caida o bajo en header 00032 } 00033 00034 pc.printf("Header=%d \n",header," uS"); 00035 for(i=0;i<36;++i){ 00036 pc.printf(",%d, %d, %d \n",numN[i],i,numP[i]); 00037 00038 if(numN[i]>8000){ 00039 pc.printf("\n"); 00040 pc.printf("espacios=%d\n",i); 00041 k=i; 00042 proL=0; 00043 for(i=0;i<k;++i){ 00044 proL=proL+numN[i]; 00045 } 00046 proL=proL/k; 00047 pc.printf("promedio_E=%d\n",proL); 00048 wait(3); 00049 pc.printf("\n"); 00050 00051 if(!mode){ 00052 for(i=0;i<k-1;++i){ 00053 if(numP[i]>(2*proL)){ 00054 bin[i]=1; 00055 for(j=0;j<i+1;++j){bin[i]=bin[i]*2;} 00056 //pc.printf("%d-",bin[i]); 00057 } 00058 if(numP[i]<(2*proL)){ 00059 bin[i]=0; 00060 //pc.printf("%d-",bin[i]); 00061 } 00062 } 00063 } 00064 for(i=0;i<k-1;++i){code=code+bin[i];} 00065 pc.printf("\n"); 00066 pc.printf("code=%d",code); 00067 code=0; 00068 goto lop1; 00069 00070 } 00071 } 00072 } 00073 00074 //for(j=0;j<i;++j)
Generated on Tue Jul 26 2022 15:19:03 by
1.7.2