Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с ATMega1281
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
kiv121
Писал проект не меге 128.
Использую графику и оперативки стало мало.
Сдул 128 - поставил 1281.
Использую IAR 5.3
Отличия поправил.
Как не пытался через собаку сделать перезагрузку 1281 - голяк.
Решил только через jmp 0x0000.
Размер прог достаточно большой - теряю extern переменные.
В настройке проекта вроде все перекрутил.
Помогите дельным советом.
kiv121
Проц. ATMega1281
Прог. достаточно большая.
Дописался до того, что теряю extern переменные.
Помогите!
SysRq
На 1281 собака после сброса по ней останется включена. Выключать надо, если не нужна.
Злодей
Цитата(kiv121 @ Nov 12 2009, 19:13) *
... теряю extern переменные.

Ошибки линкера?
kiv121
Хочу перезагрузить МК:

__disable_interrupt();
__watchdog_reset();
WDTCSR = (1<<WDCE) | (1<<WDE);
WDTCSR = (1<<WDE) | (1<<WDP0) | (1<<WDP3);
__enable_interrupt();
while(1) {}

Результат - темный экран LCD и
дальше - только через выключение питания
???
SysRq
После перезагрузки watchdog остаётся включен, и, если вы его не сбрасываете в программе, будет ещё раз перезагрузка, и потом ещё раз, и ещё, и ещё.... пока питание не снимете.

Впишите выключение watchdog'а в начало своей прогроаммы.
defunct
Цитата(SysRq @ Nov 15 2009, 04:03) *
Впишите выключение watchdog'а в начало своей прогроаммы.

Может лучше просто поддержу WDT сделать - __watchdog_reset(); вставить где следует.
Ronin
WDRF сбрасываете ?

Цитата
Bit 3 - WDE: Watchdog System Reset Enable
WDE is overridden by WDRF in MCUSR. This means that WDE is always set when WDRF is
set. To clear WDE, WDRF must be cleared first. This feature ensures multiple resets during conditions
causing failure, and a safe start-up after the failure.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.