Estoy tratando de determinar el protocolo IR utilizado en un Gree acondicionador de aire de la habitación remote control . Conecté la salida del receptor IR original al pin RA5 de un PIC16F73 y utilicé el siguiente código para medir los periodos de tiempo de los pulsos altos y bajos.
while(1)
{
while(PORTAbits.RA5 == 1) //Wait for a low edge.
{
;
}
T1CONbits.TMR1ON = 0; //Turn off Timer 1.
duration[durationCounter] = TMR1; //Record duration of pulse in array 'duration'.
TMR1 = 0; //Reset Timer 1.
durationCounter++;
T1CONbits.TMR1ON = 1;
lowEdges++;
while(PORTAbits.RA5 == 0) //Wait for next high edge.
{
;
}
T1CONbits.TMR1ON = 0; //Similarly for low edge.
duration[durationCounter] = TMR1;
TMR1 = 0;
durationCounter++;
T1CONbits.TMR1ON = 1;
highEdges++;
}
Ingresé los datos en este archivo excel . Pero los anchos de pulso parecen variar aleatoriamente y no tienen sentido para mí. He comprobado artículos sobre los protocolos NEC, RC-5, etc. pero ninguno parece coincidir con estos datos. ¿Es el programa inadecuado para capturar los datos?