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

 
 
 
Reply to this topicStart new topic
> watchdog
Errorkpi
сообщение Sep 11 2012, 09:29
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 14-04-09
Пользователь №: 47 659



Господа старожилы, я впервые решил задействовать собачий таймер на тиньке 2313. Второй день курю даташит, и не могу понять что не так:
Код
#include <ioavr.h>
#include <intrinsics.h>


#pragma vector=WDT_vect
__interrupt void interrupt_WDT(void)
{
  __disable_interrupt();
  __watchdog_reset();
  WDTCR |= (1<<WDCE) | (1<<WDE);
  WDTCR = (1<<WDIE)|(1<<WDP2)|(1<<WDP0);
  PORTB^=0xFF;
  __enable_interrupt();
}

void main()
{
  __disable_interrupt();
  __watchdog_reset();
  WDTCR |= (1<<WDCE) | (1<<WDE);
  WDTCR = (1<<WDIE)| (1<<WDP2)|(1<<WDP0);  
  DDRB=0xFF;
  PORTB=0x00;
  __enable_interrupt();
  while(1)
  {
    __no_operation();
  }
}


Ожидается мигание PORTB с частотой 2 Гц, но ни в Протеусе ни в стимуляторе студии этого не видно.....
Что я делю не так?
Go to the top of the page
 
+Quote Post
Палыч
сообщение Sep 11 2012, 09:56
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Errorkpi @ Sep 11 2012, 13:29) *
Что я делю не так?

Fuse WDTON ?

См. Table 19. Watchdog Timer Configuration

Цитата(Errorkpi @ Sep 11 2012, 13:29) *
Код
  WDTCR = (1<<WDIE)| (1<<WDP2)|(1<<WDP0);

Где (1<<WDE) ?
Go to the top of the page
 
+Quote Post
Errorkpi
сообщение Sep 11 2012, 10:10
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 14-04-09
Пользователь №: 47 659



Цитата(Палыч @ Sep 11 2012, 12:56) *
Fuse WDTON ?


WDTON=1 (unprogrammed)

Цитата(Палыч @ Sep 11 2012, 12:56) *
Где (1<<WDE) ?


interrupt mode же.....

Хотя и так и так не работает
Go to the top of the page
 
+Quote Post
Палыч
сообщение Sep 11 2012, 10:18
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Errorkpi @ Sep 11 2012, 13:29) *
...ни в стимуляторе студии этого не видно.....

В симуляторе Watchdog Timer не реализован (во всяком случае, в AVR Studio версии 4).
Go to the top of the page
 
+Quote Post
Errorkpi
сообщение Sep 11 2012, 10:21
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 14-04-09
Пользователь №: 47 659



Цитата(Палыч @ Sep 11 2012, 13:18) *
В симуляторе Watchdog Timer не реализован (во всяком случае, в AVR Studio версии 4).


О__о понял, именно в 4 версии и пробовал. Буду тестировать в железе значит, а так не хочется sad.gif
Есть подозрение, что в протеусе реализовано еще меньше....
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Sep 11 2012, 11:55
Сообщение #6


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Кросспост!
Удалил аналогичную тему из раздела AVR.
Модератор.
Go to the top of the page
 
+Quote Post

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

 


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


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