Имена участников (разделяйте запятой).
да все уже разобрался, запутался с временем и все. Я привязался к секундам, а не к тому что есть частота процессора и время обхода таймера (тик)....
да все уже близко к разгадке ))) вот рабочий вариант: ISR(TIMER1_COMPA_vect) { if(sec_cnt < 5) { PORTB|=(1<<PORTB2); // turn on LED in first...
Хорошо. соглашусь пусть код не идеален. вместо того чтоб тапками кидаться могли просветить подробнее? Вот Вам к примеру простейший код. volatile...
При нажатии кнопки seconds устанавливается в 20, включается порт. Далее в фоне эти секунды тикают вниз seconds = -1; , при достижении нуля...
Полный листинг, частота 8MHz # define F_CPU 8000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <stdio.h>...
Так я в Протеусе и в железе гоняю. Ровно 6 секунд.
А чем моя запись отличается от Вашей? Тем более если использовать _delay_ms то работает. ~ На судьбу таймера не играет.
А что в коде не понятно? Английский? А Atmel Studio с русским не очень. ALARM_OUT_EN или ALARM_OUT_STOP не понятно так это я специально убрал...
Подскажите в чем ошибка, перепробовал разные варианты. Суть в том, чтобы как только сработала кнопка порт был активен 20 секунд (в идеале минуту...