Usando solo el pin OC0B para generar el tono

1

Estoy intentando generar un tono con un par de frecuencias configurables en el pin OC0B de Atmega328, modo Fast-PWM.

TCCR0A  |= _BV(WGM01) | _BV(WGM00); 
TCCR0B  |= _BV(WGM02);

TCCR0A  |= _BV(COM0B1) | _BV(COM0B0); 
TCCR0B  |= _BV(CS01) | _BV(CS00); 

OCR0A   = 100;

Configuro en Fast PWM (7), luego el prescaler 64, OC0A se desconecta y OC0B se conecta en modo de inversión. No hay tono en OC0B.

Solo pude generar tono en OC0A cuando configuré COM0A0 en 1. Pero solo necesito generar tono en OC0B.

Así que hay dos preguntas. 1. ¿Cómo puedo generar tono en el pin OC0B? 2. Mientras se genera un tono en OC0B, ¿puedo usar OC0A como pin GPIO?

    
pregunta Pablo

1 respuesta

0

Posiblemente relevante: la hoja de datos p.102 dice esto:

La configuración de COM0A1: 0 bits en uno permite que el pin OC0A alterne en Comparar coincidencias si se establece el bit WGM02. Esta opción no está disponible para el pin OC0B (consulte la Tabla 14-6 en la página 107).

¿Podría ser el problema? (aunque no he mirado la Tabla 14.6)

    
respondido por el Brian Drummond

Lea otras preguntas en las etiquetas