#define F_CPU 16000000UL
#include <[COLOR="#000000"]avr/io.h>[/COLOR]
#include <[COLOR="#000000"]util/delay.h>[/COLOR]
void initPWM()
{
TCCR0A |= 1,,WGM01 | 1,,WGM00 | 1,,COM0A0;
TCCR0B |= 1,,WGM02;
DDRB |= 1,,PINB1;
}
void setPWMOut(int dutycycle)
{
OCR0A = dutycycle;
}
int main (void)
{
int brightness = 0;
int fadeAmount = 5;
initPWM();
while(1)
{
setPWMOut(brightness);
brightness = brightness + fadeAmount;
if (brightness <= 0 || brightness >= 255)
{
fadeAmount = -fadeAmount;
}
_delay_ms(30);
}
}