Problema ATmega8 Timer2

0

Estoy usando ATmega8 con un reloj de 16 MHz y uso Timer2 como PWM con este código:

DDRB |= (1 << DDB3);
OCR2 = 0;
TCCR2 |= (1 << COM21);
TCCR2 |= (1 << WGM21) | (1 << WGM20);
TCCR2 |= (1 << CS21);
OCR2 = 0;

Pero después de este código 0 PWM mi led comenzó con un brillo bajo. Así que por favor dame una solución.

    
pregunta Ramoliya.Biren

1 respuesta

1

Ya que configura su prescaler en 8 y usa el modo PWM rápido, su frecuencia PWM es de aproximadamente 7812kHz (16MHz / (8 * 256)) como Ignacio ya señaló. Si desea ver que su LED parpadea, probablemente tenga que disminuir la frecuencia.

Sin embargo, sospecho que el problema principal es que establece OCR2 en 0. El ciclo de trabajo resultante depende del valor de OCR2.

  

Los valores extremos para el Registro OCR2 representan casos especiales al generar un PWM   Salida de forma de onda en el modo PWM rápido. Si el OCR2 se establece igual a BOTTOM, la salida será   un pico estrecho para cada MAX + 1 ciclo de temporizador .

    
respondido por el Rev1.0

Lea otras preguntas en las etiquetas