Пытаюсь запустить таймер Т2...
ATmega 128,кварц 7.372Мhz,AVreal
D:\Timers\avreal32.exe +MEGA128 -p378 -ab -n -o1000Khz -%% -fCKSEL=E,BOOTRST=0,BLB0=3,BLB1=3,M103C=1,JTAGEN=1 -e -w -c D:\Timers\Timers.hex PAUSE
void InitTimers (void) { //инициализация таймера т2 TIMSK = (1<<OCIE2); //разрешаем прерывание таймера т2 при событии совпадение TCCR2 = ((0<<WGM21)|(0<<WGM20)|(1<<CS02)|(0<<CS01)|(1<<CS00)); //режим СТС, прескалер - 1024 TCNT2 = 0; //обнуляем счетный регистр OCR2 = 0x07; //прерывания каждые ~ 1 мс }
//------------------------------------------------------------------------------------------- // Прерывание от T2 1 милисекунда #pragma vector = TIMER2_COMP_vect __interrupt void TIMER2_COMP_interrupt(void) { uint Ticks = 0; uint del = 0; // Обработка 1 мс интервалов Ticks++; if(Ticks & 0x0080) {on(LED1);} else {off(LED1);} // Обработка 1 с интервалов if(++ del >= 1000) {on(LED2);} else {off(LED2);} }
Буду очень благодарен за помощь
|