0

您好我有一些问题要了解如何将计时器绑定到引脚,因此我的代码没有运行......

#include <avr/io.h>


void init_PWM(void)
{
    TCCR0A|=(1<<WGM00)|(1<<WGM01)|(1<<COM0A1)|(1<<CS00);


    //Set OC0 PIN as output. It is  PB3 on ATmega16 ATmega32

    DDRB|=(1<<PB7);
}

void setPWM(uint8_t duty)
{
   OCR0A = duty;
}


void main (void)
{
   uint8_t brightness = 0;
   init_PWM();

   for (brightness=0; brightness<=255; brightness++)
   {
      setPWM(brightness);
      _delay_ms(100);
   }
}

我的问题是如何将定时器分配给 PB7 ?

我的目标是使用 FastPWM 模式在 PB7 上闪烁 LED...

提前致谢

4

1 回答 1

1

对于 mega1280 是 TCCR0B 中的 CS00 而不是 TCCR0A

void init_PWM(void) {
    TCCR0A|=(1<<WGM00)|(1<<WGM01)|(1<<COM0A1);
    TCCR0B|=(1<<CS00);
    DDRB|=(1<<PB7);
}
于 2012-12-14T14:51:54.767 回答