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?