Полная версия этой страницы:
Программно ресетнуть МК
ATMEGA16
Как правильно программно ресетнуть МК? Пишу асм команду wdr - реакция ноль, может что куда нужно прописать?
В чужом проекте для мега128 видел вот такое
Код
asm volatile("jmp 0x0000");
нормально работает
Цитата(uriy @ Jul 17 2008, 21:17)

В чужом проекте для мега128 видел вот такое
Код
asm volatile("jmp 0x0000");
нормально работает
Очень интересная строка! Если бы мне такое было нужно я бы написал goto. Мне же ресет нужно сделать(все регистры обнулить) а не прыгнуть в начало программы...
Специальной команды на перезапуск МК нет. Можно влючить собаку и не сбрасывать ее. А если нужно выполнять перезапуск в кратчайшее время, можно один из выводов порта соединить со ногой сброса и команодовать
zltigo
Jul 17 2008, 17:30
Цитата(Anub @ Jul 17 2008, 19:12)

Как правильно...
Избитый вопрос. Воспользуйтесь поиском по форуму.
Цитата(biDE @ Jul 17 2008, 19:27)

..можно
надежно "неможно", ибо при банальном прямом соединении не обеспечивается гарантированная длительность импульса сброса.
Из всего прочитанного для себя извлёк 3 решения:
1. Переход на нуль с последующей процедурой инициализации ВСЕГО что можно (регистры, память и переферия).
2. Использовать собаку.
3. Использовать одну ножку для генерации сброса, а для формирования необходимой длительности придётся на ресете небольшую схемку спаять или ножкой дёргать супервизор, который сформирует необходимую длинну импульса сброса.
Kuzmi4
Jul 18 2008, 13:30
2 Deka - юзайте собаку - меньше всего нужно будет паять и собирать - пару строчек кода займёт.. Поиском поисчите - кто-то приводил для меги , не помню какой...
Dog Pawlowa
Jul 18 2008, 13:56
Цитата(Kuzmi4 @ Jul 18 2008, 16:30)

2 Deka - юзайте собаку - меньше всего нужно будет паять и собирать - пару строчек кода займёт.. Поиском поисчите - кто-то приводил для меги , не помню какой...
Под IAR вот такой:
__disable_interrupt(); for(;;);
Эээээ... ну так я юзаю и нет проблем. Я просто для автора вопроса обобщил наверное все способы... А автор вопроса - не я!
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.