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

 
 
> Прерывание в Tiny по WDT
Neutron
сообщение Jun 24 2008, 07:17
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 1-10-07
Пользователь №: 30 960



Помогите пожалуйста!
Никак не могу запустить прерывание по watchdog на Tiny2313. Сбросы работают а прерывания ни в какую. help.gif Мне нужно чтобы при малом потреблении во время спячки прерывания происходили с частотой ~20 Гц.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sethi
сообщение Jun 8 2009, 08:24
Сообщение #2





Группа: Новичок
Сообщений: 2
Регистрация: 8-06-09
Пользователь №: 50 054



оживлю тему своим некропостом. для tiny2313 не могу вызвать программное прерывание по переполнению счетчика WDT. код на IAR, который по идее должен зажечь пин Б0 после срабатывание прерывания:

Код
//IAR Assembler for AVR 5.20.1 (5.20.1.50092)
#include <inavr.h>
#include <iotiny2313.h>  

#pragma vector = WDT_vect
__interrupt void WDT_ISR(void)
{
  MCUSR &= ~(1 << WDRF);            
  WDTCR |= (1<<WDIE);                // set WDIE to avoid hardware reset

  DDRB &= ~(1 << PINB0);              
  PORTB |= (1 << PINB0);             //лог 1 на пинБ0
}

void main(void)
{
  __disable_interrupt();
  __watchdog_reset();
  MCUSR &= ~(1<<WDRF);
  WDTCR |= (1<<WDCE) | (1<<WDE);
  WDTCR = (1<<WDP0) | (1<<WDP3) | (1<<WDIE);   //на 4с
  __enable_interrupt();


  while(1);
}



Proteus 7.5SP3 (7401) пишет WD Timer expired - Interrupt generated, но в обработчик прерывания не переходит. 7й бит в MCUSR выставляется в 1. Если вместо 1<<WDIE выставить 1<<WDE, мк будет хардрезетиться как и ожидалось. я чего-то не понимаю, в чем может быть дело?

avr studio 4.16 (628) из бесконечного цикла тоже не выходит (впрочем как и в примере, приведенном постом выше)
Go to the top of the page
 
+Quote Post



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

 


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


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