Перейти к содержанию
    

atmega1281 - wdt рестарт

есть устройство на 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

но проблема так и не решена что с wdt то?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

помогает опять только передергивание питания.....

После этого устройство в основной программе оказывается или в бутлоадере?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1.После передергивания питания все нормально - стартует основная программа

2.Если нажимаем на кнопку при включении (усолвие старта бутлоадера ) то естественно стартует бутлоадер - это все хорошо

3. Чехарда начинается при использовании рестарта по wdt только на Atmega1281

 

Надеюсь не путанно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...