2012-11-05 29 views
0

你好,我有一些問題,瞭解如何將定時器綁定到銷正因爲如此我的代碼沒有運行...快速PWM和Atmega1280

#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 ...提前

感謝

回答

1

爲mega1280是CS00在TCCR0B,而不是在TCCR0A

void init_PWM(void) { 
    TCCR0A|=(1<<WGM00)|(1<<WGM01)|(1<<COM0A1); 
    TCCR0B|=(1<<CS00); 
    DDRB|=(1<<PB7); 
}