Implementar el protocolo IR usando solo un temporizador

0

Quiero implementar la parte de transcepción de un protocolo IR para mi control remoto Samsung en un nRF54822, utilizando un núcleo ARM Cortex M0. El protocolo es muy parecido al Protocolo NEC , y utiliza una frecuencia portadora de 38 kHz con ráfagas de frecuencia de portadora en diferentes períodos de tiempo para indicar '1' y '0' lógicos.

  

Ejemplo: 38kHz ENCENDIDO para 540µs, señal APAGADA durante 1.7 ms, señal ENCENDIDO para   540µs.

Si uso dos temporizadores, esto debería ser bastante trivial. Un temporizador para mantener la frecuencia portadora de 38 kHz activa en todo momento, y el otro para mantener un registro de cuándo configurar la salida del temporizador uno en el LED IR. ¿Pero qué pasa si estoy usando un solo temporizador? Soy capaz de activar el borrado del temporizador (contar desde cero) y la parada del temporizador en el valor Comparar. También puedo activar toggle , set y clear en GPIO en la comparación.

¿Alguna idea sobre cómo puedo lograr esto?

    
pregunta chwi

1 respuesta

1

Tengo un RTOS no preferente simple que usa solo un temporizador de hardware, así que: SÍ, por supuesto que puedes hacerlo con un temporizador.

Simplemente configure ese temporizador para mantener un registro del tiempo, y puede, en los puntos apropiados de su software, esperar hasta que llegue el momento adecuado para hacer lo siguiente.

Un inconveniente menor puede surgir cuando el temporizador se desplaza, pero suponiendo que lo inspeccione con la frecuencia suficiente, puede mantener una extensión del temporizador e incrementar esta extensión siempre que el valor actual del temporizador sea inferior al anterior.

    
respondido por el Wouter van Ooijen

Lea otras preguntas en las etiquetas