Проверил может как то установил фьсы не верно типо стороживой таймер включил, нет всё нормально. Может контроллер дохлый. Что делать?
Сбрасывается ATmega32A
- Сообщения: 134
- Зарегистрирован: Вс авг 01, 2010 16:05:25
Не могу ни чего поделать с контроллером, его периодическая перегрузка рушит мне все планы.Я его обвесил целиком кандёрами, дросселями, вывез его на дачу,там не электричества, работал от аккамулятора без полезно, периоды сброса резные от нескольких минут до часа.
Проверил может как то установил фьсы не верно типо стороживой таймер включил, нет всё нормально. Может контроллер дохлый. Что делать?
Проверил может как то установил фьсы не верно типо стороживой таймер включил, нет всё нормально. Может контроллер дохлый. Что делать?
- Реклама
вход ресет подтянул к питанию? В контроллере есть регистр, в котором устанавливается флаг, по какому событию произошел сброс (питание, вывод ресет и т.д.). можно отследить. Или в программе ошибка
- Сообщения: 1802
- Зарегистрирован: Ср сен 07, 2011 21:40:30
Для начала, смотрим на ошибки в варианте "Великого и Могучего" автора темы. Судя по ошибкам, программный код весьма похож.
А попробуйте на него залить какую-нибудь простую прошивку, чтобы она давала о себе знать при каждом перезапуске, и понаблюдайте. Может косяк не в железе, а в вашей программе
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
--------------------------
Пишу на Си за еду
- Реклама
- Сообщения: 134
- Зарегистрирован: Вс авг 01, 2010 16:05:25
С регистром конечно интересно, но если контроллер сброшен, то и сброшено всё. А что программно можно сбросить контроллер, не считая сторожевого таймера. Подскажите каким образом, но я понимаю протеус не авторитет но в нём не сбрасывается. Если так то надо новую версию писать,так как ошибку найти проблематично.
- Сообщения: 601
- Зарегистрирован: Ср янв 06, 2010 10:01:46
Нет.TICLIR писал(а):но если контроллер сброшен, то и сброшено всё
TICLIR писал(а):программно можно сбросить контроллер, не считая сторожевого таймера. Подскажите каким образом
Код: Выделить всё
jmp 0
А вообще "понять-то тебя мудрено, коль ты не говоришь ничего..." ©
Если писал на асме, вполне мог намудрить со стеком или чего забыть - и у тебя прогу кидает на 0-й адрес.
Не совсем честно. Регистры периферии при этом не сбросятся на значение по-умолчанию как это происходит при настоящем сбросе. Но если все используемые регистры инициализируются при старте программы, то это не важно.metan писал(а):Код: Выделить всё
jmp 0
Код бы уже давно привели, может там явный (для более опытных) косяк, который сразу все прояснит, ну или хотя бы даст возможность другим проверить у себя в железе. Достаточно в одном месте забыть, например, сохранить SREG и можно получить занимательнейший глюк, который может вылезти только через час работы.
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
- Сообщения: 134
- Зарегистрирован: Вс авг 01, 2010 16:05:25
Конечно можно привести код, но кто будет разбираться с программой которая занимает 90% контроллера.
Хорошо Спасибо, с начало воспользуюсь Вашими советами которые прозвучали выше.
Хорошо Спасибо, с начало воспользуюсь Вашими советами которые прозвучали выше.
90% 32килобайтного флеша?TICLIR писал(а):занимает 90% контроллера
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
- Сообщения: 134
- Зарегистрирован: Вс авг 01, 2010 16:05:25
А кидайте исходник! Думаю, всем скопом и по частям найдем много косяков. Заодно и подучитесь. Только откомментируйте хорошенько.
Это уже 50% вероятность самому найти ошибкуИС-пытатель писал(а):Только откомментируйте хорошенько.
- Сообщения: 134
- Зарегистрирован: Вс авг 01, 2010 16:05:25
Доброго времени суток, конкретно ошибку не нашел, у меня было задействовано два внешних прерывания, INT1 срабатывал от часовой микросхемы и давал команду для начало всех измерений. Я исключил прерывания INT1, и с ним же микросхему(отказался от часов) теперь отсчет времени производит таймер , прерывания по переполнению. И всё сбросы прекратились. Спасибо.


