nickson_wer 1 Жалоба Опубликовано 1 июля, 2016 Почему таймер не работает???#include <mega8.h>#include <delay.h>char a = 0;interrupt [TIM1_COMPA] void timer1_compa_isr(void){if(PIND.0 == 0 && a == 0) {a = 1;};TCNT1=0; //обнуляем таймер}void main(void){DDRB = 0xFF;PORTB = 0x00;DDRD.0 = 0;PORTD.0 = 1;TCCR1A=0x00; //настройка таймераTCCR1B=0x05;TCNT1=0x00; //здесь увеличиваются тикиOCR1A=0x1E85; //записываем число в регистр сравненияTIMSK=0x10; //запускаем таймерwhile (1){if(a == 1){PORTB = ~PORTB;delay_ms(500);};}}Суть. опрос кнопки. В прерывании: если была нажата кнопка, то сделать a = 1/В цикле: если а = 1 - подрыгать ногами порта Б http://foto.hz.by/show-image.php?id=84c991cfe803cf7bb2e0e2c7eb7e7118 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
VitalForce 67 Жалоба Опубликовано 1 июля, 2016 Я не специалист по Атмелам, но ПО это одно, а вот выставить фьюзы - другое. Думаю для спецов, чтоб ответить , покажите им выставленные фьюзы. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nickson_wer 1 Жалоба Опубликовано 1 июля, 2016 Я не специалист по Атмелам, но ПО это одно, а вот выставить фьюзы - другое. Думаю для спецов, чтоб ответить , покажите им выставленные фьюзы. какие фьюзы. еще программа не написана и проверяется в симуляторе. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты