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

 
 
> atmega1281 - wdt рестарт
GYUR22
сообщение Jul 20 2011, 08:14
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 16-02-09
Пользователь №: 44 931



есть устройство на Atmega128 c A и без A работает хорошо - но хочется расширится по оперативке - хочу перейти на Atmega1281
и при одном и томже коде (основная программа работает и там и там только таймер0 - разные регистры поправлены для 1281 ) - поведение устройств в момент резета по wdt (приложенный код) - а точнее рестарта после него очень разное
Mega128 - все хорошо сброс - рестарт.
Mega1281 - похоже сбрасывается, но не стартует - при SUT0,1 = 0 либо какая постоянная перезагрузка
sut1=1 - просто тупо все стоит, но после сброса питания в любом случае все работает

кварц менял взял с платы на 128 припаял на 1281 - без изменения
даже если после кривой перезагрузки - читать (т.е. сбрасиывать на момент чтения) программатором то читать читает а не рестартует - остается либо в моргании либо в тупняке - только сброс питания помогает

Если прошить бутлоадер и потом загрузить программу - то после сброса по wdt - получаем бутлоадер - как будто нет ничего в основной памяти
помогает опять только передергивание питания.....

Нешто никто 1281 через wdt не сбрасывал?

начало программы
Код
{
uint16_t i;

//this done mcu not to reset via wdt - after bootloader reset  
wdt_disable();



сброс
Код
//writing eeprom and reload mode         
         if(run_programm==4) //eprom write then load finished
         {
  
         new_prog_eeprom();  
  
         wdt_enable(WDTO_120MS);
         while(1)//endless loop for wdt - to reset chip after download
          {
;//empty body for reload on watch dog
          }

        
         }



в чем косяк не ясно....

проект в AvrStudio 4.18 +gcc WinAVR-20100110

Сообщение отредактировал GYUR22 - Jul 20 2011, 13:10
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
GYUR22
сообщение Jul 20 2011, 13:43
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 16-02-09
Пользователь №: 44 931



сбрасывается только так - в смысле прыгает (подсмотрел в бутлоадере)

(*((void(*)(void))0x0000))();

но проблема так и не решена что с wdt то?
Go to the top of the page
 
+Quote Post
GYUR22
сообщение Jul 22 2011, 15:18
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 16-02-09
Пользователь №: 44 931



плиз хелп...
Go to the top of the page
 
+Quote Post
EvgenWL
сообщение Jul 22 2011, 15:59
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 88
Регистрация: 20-10-06
Из: Иваново
Пользователь №: 21 504



Цитата(GYUR22 @ Jul 20 2011, 12:14) *
помогает опять только передергивание питания.....

После этого устройство в основной программе оказывается или в бутлоадере?
Go to the top of the page
 
+Quote Post
GYUR22
сообщение Jul 22 2011, 16:52
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 16-02-09
Пользователь №: 44 931



1.После передергивания питания все нормально - стартует основная программа
2.Если нажимаем на кнопку при включении (усолвие старта бутлоадера ) то естественно стартует бутлоадер - это все хорошо
3. Чехарда начинается при использовании рестарта по wdt только на Atmega1281

Надеюсь не путанно...
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 03:34
Рейтинг@Mail.ru


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