Форум » Для начинающих. » Как програмно перезапустить программу? » Ответить

Как програмно перезапустить программу?

Alexandr: Здравствуйте, возникла необходимость перезапустить программу не отключая питание. Команды такой не нашел. Подумал что можно искуственно переполнить сторожевой таймер, но может быть существуют какие то ещё и другие способы?

Ответов - 4

sokur: WDT , если включен, переполнится сам , и довольно быстро. Есть команда GOTO 0000H, но без аппаратных сбросов. А прерывание (можно по внешнему сигналу) не устроит ?

SanSanich: Да, как то смысл не совсем понятен, для чего это надо и в каких случаях?

Alexandr: SanSanich пишет: Да, как то смысл не совсем понятен, для чего это надо и в каких случаях? Просто у меня получается много подпрограмм и оказывается выходить из них надо очень аккуратно иначе стек переполняется. Вот и пришла мысль что если выйти в начало не по goto, а перезапуском, то стек очистится. Но потом понял что это не выход. Надо просто более корректно заканчивать подпрограммы. Вообщем привыкаю к особенностям работы в ассемблере.


dosikus: Alexandr пишет: Просто у меня получается много подпрограмм и оказывается выходить из них надо очень аккуратно иначе стек переполняется. Недопонимание вопроса ... Надо следить за уровнем вложенности , а не аккуратностью выхода .



полная версия страницы