Конкретно для меги я ни разу не писал, Примеры для Arduino Nano приведу
Многоканальный Dimmer на Arduino Nano на Mega будет работать если заменить фаил Nanopins.h на cyberpins.h
Пример использования Timer1
Вся информация по регистрам таймеров в Datasheet есть, к сожалению переводить Ds нет времени
но вот например нашел кое что у себя, коментарии к некоторым регистрам и флагам
Думаю этого должно быть достаточно для самостоятельного изучения
Код:void Setup_TIMER2() { // TIMSK2 &= ~(1<<TOIE2); //разрешения прерывания по переполнению таймера/счетчика Т2 TCCR2A &= ~((1<<WGM21) | (1<<WGM20));// Режим работы таймера/счетчика TCCR2B=((0 << CS22) | (0 << CS21) | (1 << CS20)) //Делитель 0 //ASSR &= ~(1<<AS2); //Выбор источника синхронизации таймера если AS2=0 от системного генератора //ASSR|=(1<<AS2); // Тактировать T2 от асинхронного генератора таймера TCNT2 = TCNT2_Const; // 16000000/256/100/64=8 tcnt2=256-8=248. TIMSK2 |= (1<<TOIE2);//Разрешение прерывания по переполнению Т2. // TIMSK2|=(1<<OCIE2); // Разрешить прерывание по совпадению Т2. } void loop() { } ISR(TIMER2_OVF_vect)//вектор прерывания по переполнению таймера { TCNT2=0; } ISR(TIMER2_COMPA_vect) //Обработчик прерывания по совпадению с OCR2 { TCNT2=0; }




Ответить с цитированием