GYUR22 0 20 июля, 2011 Опубликовано 20 июля, 2011 (изменено) · Жалоба есть устройство на 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 Изменено 20 июля, 2011 пользователем GYUR22 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GYUR22 0 20 июля, 2011 Опубликовано 20 июля, 2011 · Жалоба сбрасывается только так - в смысле прыгает (подсмотрел в бутлоадере) (*((void(*)(void))0x0000))(); но проблема так и не решена что с wdt то? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GYUR22 0 22 июля, 2011 Опубликовано 22 июля, 2011 · Жалоба плиз хелп... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EvgenWL 0 22 июля, 2011 Опубликовано 22 июля, 2011 · Жалоба помогает опять только передергивание питания..... После этого устройство в основной программе оказывается или в бутлоадере? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GYUR22 0 22 июля, 2011 Опубликовано 22 июля, 2011 · Жалоба 1.После передергивания питания все нормально - стартует основная программа 2.Если нажимаем на кнопку при включении (усолвие старта бутлоадера ) то естественно стартует бутлоадер - это все хорошо 3. Чехарда начинается при использовании рестарта по wdt только на Atmega1281 Надеюсь не путанно... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться