Цитата(Who_are_you? @ Aug 9 2017, 19:47)

Все работало пока не всунул работу с портом по прерыванию.
Прерывание настроил, но в некоторых случаях из глубины меню
нет выхода по программе, а реально начинается перезагруз заново main.
Вот сюда и копайте. Нет ли "гонки" между основной программой и прерыванием (volatile, запрет прерываний при работе с разделяемыми данными), нет ли вызова каких-то "тяжелых" функций из прерывания (который кушают много стека) и т.п.
Засеките размер используемого стека до и после прерывания, вставьте проверку - если стека осталось мало - повиснуть, выдав наружу сигнал об этом