Форум » Для начинающих. » Как програмно перезапустить программу? » Ответить
Как програмно перезапустить программу?
Alexandr: Здравствуйте, возникла необходимость перезапустить программу не отключая питание. Команды такой не нашел. Подумал что можно искуственно переполнить сторожевой таймер, но может быть существуют какие то ещё и другие способы?
Ответов - 4
sokur: WDT , если включен, переполнится сам , и довольно быстро. Есть команда GOTO 0000H, но без аппаратных сбросов. А прерывание (можно по внешнему сигналу) не устроит ?
SanSanich: Да, как то смысл не совсем понятен, для чего это надо и в каких случаях?
Alexandr: SanSanich пишет: Да, как то смысл не совсем понятен, для чего это надо и в каких случаях? Просто у меня получается много подпрограмм и оказывается выходить из них надо очень аккуратно иначе стек переполняется. Вот и пришла мысль что если выйти в начало не по goto, а перезапуском, то стек очистится. Но потом понял что это не выход. Надо просто более корректно заканчивать подпрограммы. Вообщем привыкаю к особенностям работы в ассемблере.
dosikus: Alexandr пишет: Просто у меня получается много подпрограмм и оказывается выходить из них надо очень аккуратно иначе стек переполняется. Недопонимание вопроса ... Надо следить за уровнем вложенности , а не аккуратностью выхода .
полная версия страницы