您好我有一些问题需要了解如何将Timer绑定到Pin,因此我的代码没有运行...
#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 ......
提前致谢
答案 0 :(得分:1)
是TCCR0B中的CS00而不是TCCR0A
void init_PWM(void) {
TCCR0A|=(1<<WGM00)|(1<<WGM01)|(1<<COM0A1);
TCCR0B|=(1<<CS00);
DDRB|=(1<<PB7);
}