PWM ATmega2560, no se puede iniciar

0

Estoy intentando iniciar PWM en ATmega2560, pero no sé por qué no funciona

Así es como se ve mi código:

#include <avr/io.h>
#include <util/delay.h>

void set_pwm_duty_cycle(char duty);

int main()
{
  int dutycycle;

  while(1)
  {
    for(dutycycle = 0; dutycycle < 200; dutycycle++)
    {
      set_pwm_duty_cycle(dutycycle);
      _delay_ms(50);
    }
  }
}

void set_pwm_duty_cycle(char duty)
{
  TCCR2A |= _BV(WGM21) | _BV(WGM20); // Fast PWM mode
  TCCR2A |= _BV(COM2A1); // Clear OC2A on Compare Match, set OC2A at BOTTOM
  OCR2A = duty;
  DDRB |= _BV(PB4); // set PB4 as output
}
    
pregunta P47 R1ck

0 respuestas

Lea otras preguntas en las etiquetas