реклама на сайте
подробности

 
 
> winavr - помогите с прерываниями, не хотят совместно работать в простой программе
семен78
сообщение Aug 10 2009, 20:20
Сообщение #1





Группа: Участник
Сообщений: 8
Регистрация: 10-08-09
Пользователь №: 51 829



делаю прогу под (tiny2313) в winavr
для контроля зависания компа - комп переодически шлет импульс и если очередной не пришол вовремя то контроллер делает сброс

для наколенной проверки вешаю на ногу диод и на другую кнопку - диод мигает а тыкание кнопки частое должно прерывать мигание диода пока щелкается кнопка - но получается лишь продлить период мигания диода

Код
int c=0;

ISR(INT0_vect){c=1;}   //  прерывание от кнопки

ISR(TIMER1_OVF_vect)
{TCNT1=65500;if (c==1){c=0;} else {PORTB^=1<<3;}}  // прерывание по таймеру  -  лампа гаснет или загорается
  

int main(void)
{
TIMSK=0x80;  // Timer 1 Overflow Interrupt: On

TCNT1=65500; // значение счетного регистра  -  чтоб до переполнения было около 1 сек.

DDRB|=_BV(3);// Вывод порта настраеваем как выход (диод)

PORTD&=~_BV(PD2);// вешаем 0  на вход кнопки

GIMSK=0b01000000; //разрешаем прерывание int0 -  кнопка
MCUCR=0x03; // int by rising front -  для кнопки

sei(); //   общее разрешение прерывания  (sreg 0100000....)

while (1);
}


т.е. прерывание по кнопке срабатывает лишь 1 раз сколько бы не нажимать - после очередной сработки по таймеру опять только раз - а надо чтоб постоянно - в чем причина не пойму
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- семен78   winavr - помогите с прерываниями   Aug 10 2009, 20:20
- - _Pasha   Цитата(семен78 @ Aug 10 2009, 23:20) в че...   Aug 10 2009, 21:08
- - Sergey'F   Я не работал с тинькой, но чему равен DDRD, если о...   Aug 10 2009, 21:10
- - семен78   дописал volatile int c=0; эффета нет DDRD есть...   Aug 11 2009, 07:12
|- - Кастусь Рыжов   Цитата(семен78 @ Aug 11 2009, 10:12) DDRD...   Aug 11 2009, 10:25
- - семен78   DDRD(2) - вход по умолчанию - т.е. там 0 и...   Aug 11 2009, 10:58
- - _Pasha   Наконец-то вчитался в постановку задачи. Обнаружил...   Aug 11 2009, 11:24
- - семен78   не понял мысли - смысл прерывания по кнопке чт...   Aug 11 2009, 11:57
|- - Sergey'F   Цитата(семен78 @ Aug 11 2009, 15:57) не п...   Aug 11 2009, 13:23
- - семен78   то есть, нажатия кнопки будут продлевать до бескон...   Aug 11 2009, 14:09
|- - Sergey'F   Цитата(семен78 @ Aug 11 2009, 18:09) 1В н...   Aug 11 2009, 16:35
|- - _Pasha   Цитата(Sergey'F @ Aug 11 2009, 19:35)...   Aug 11 2009, 18:12
- - семен78   схема совсем простетская - проверять нечего - ...   Aug 11 2009, 17:04
- - Sergey'F   Цитата(семен78 @ Aug 11 2009, 21:04) схем...   Aug 11 2009, 20:35
- - семен78   вопрос снят причина - отсутствие внешней подт...   Aug 11 2009, 21:04
|- - Sergey'F   Цитата(семен78 @ Aug 12 2009, 01:04) вопр...   Aug 11 2009, 21:09
- - семен78   Цитатарезистор последовательно с диодом я зря шути...   Aug 12 2009, 08:13


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 00:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.01391 секунд с 7
ELECTRONIX ©2004-2016