so funkts bei mir - zum testen
mfg
Code:
#define OC1A_PIN PB1 // OC1A pin (ATmega8 use PB1)
#define OC1A_DDR DDRB // OC1A DDR (ATmega8 use DDRB)
int main(void)
{
uint8_t i = 0;
// set OC1A pin as output, required for output toggling
OC1A_DDR |= (1<<OC1A_PIN);
// enable 8 bit PWM, select inverted PWM
TCCR1A = (1<<WGM10) | (1<<COM1A1) | (1<<COM1A0);
// timer1 running on 1/8MCU clock with clear timer/counter1 on Compare Match
// PWM frequency will be MCU clock / 8 / 510, e.g. with 8Mhz Crystal 1960 Hz.
TCCR1B = (1<<CS11) | (1<<CS10);
/*
* Dimm LED on and off in interval of 2.5 seconds
*/
for (;;)
{
/* dimm LED on */
for (i=0; i<255; i++)
{
OCR1AL = i;
_delay_ms(40); // delay 10 ms
}
/* dimm LED off */
for( i=255; i>0; i--)
{
OCR1AL = i;
_delay_ms(40); // delay 10 ms
}
}
}
Lesezeichen