Код
...
Timer0_Init();
__enable_interrupt();
for (;;)
...
void Timer0_Init(void)
{
/* Установка OCR0A на вывод */
DDRB |= (1<<OCR0A);
/* Установка в режим ШИМа с коррекцией */
TCCR0A &= ~(1<<WGM01);
TCCR0A |= (1<<WGM00);
/* установка компаратора*/
TCCR0A &= ~(1<<COM0A0);
TCCR0A |= (1<<COM0A1);
/* без предделителя*/
TCCR0A &= ~(1<<CS02);
TCCR0A &= ~(1<<CS01);
TCCR0A |= (1<<CS00);
TCNT0 = 0xFF;
OCR0A = 0х55;
/* Разрешение прерывания с переполнения счетчика и компоратора */
TIMSK0 |= (1<<TOIE0);
TIMSK0 |= (1<<OCIE0A);
}
#pragma vector=TIMER0_OVF_vect
__interrupt void TIMER1_OVF(void)
{
leds;
}
может еще что-то? но светодиоды не горят, шима нет

может таймер еще как-то надо запустить или достаточно настроить предделитель?
Сообщение отредактировал svlad - Apr 10 2007, 18:55