Цитата(Zandy @ Dec 1 2013, 14:38)

Спасибо за все, брошенные в меня, тухлые помидоры. Так много откликов! Видать тема больная.

Конечно, можно было бы, с моей стороны, и дальше "расчесывать" больное место, но я пока этого делать не буду. Потом, как-нибудь. Я понял, что путь этот сложен и тернист. Моя задача позволяет несколько вариантов решения, в том числе и без затрагивания действий сомнительной репутации. Так что, спасибо, тема закрыта.
Неверный подход.
Ваша идея неудачная. Вас вовремя предостерегли от движения в неверном направлении. Мне даже вопрос было страшно читать. Это по поводу выхода из прерывания нестандартным образом.
Хочу дать вам совет по поводу прерываний. Прерывания как налог. Только вместо денег время. Чем они длиннее, тем меньше скорость системы. Поэтому в прерываниях надо делать как можно меньше работы. В системах без операционной системы можно сделать так.
В прерывании таймера инкрементируется глобальная переменная, а в вечном лупе стоит условный цикл, который прокручивается впустую пока эта переменная равна нулю.
сразу за этим циклом она декрементируется. Глобальную переменную таймаут можно декрементировать в прерывании и в случае таймаута (что случается редко) сбросить состояние автомата в исходное. Это не займет много времени.
Таким образом ваше прерывание всегда будет сопровождаться выходом из цикла, где вы можете проделать все ваши манипуляции с антидребезгом и т.д.
Заранее хочу предостеречь от классической ошибки новичков. Никогда не сбрасывайте вочдог в прерывании.
Цитата(Zandy @ Nov 29 2013, 19:28)

setjump(), longjump(). Здесь я что-то ни хрена не понял, какое отношение к моей задаче. И еще, по ссылке не работают примеры.
По поводу грязного хака. Не совсем согласен. В сложных программах с кучей вложенных функций наверное это так. В моем простейшем случае, я думаю, небо не рухнет. Ведь допускает же теория С выход из вложенных циклов по готу. Да тут даже вопрос то не в этом (плохо или хорошо). Пусть плохо. Но как?
По поводу проверки флага, установленного в прерывании, в основном цикле. Больно часто его придется проверять, хотя...
Когда вы осуществите переход из прерывания и постепенно начнете осознавать какой ящик Пандоры открыли, то может быть для вашего устройства небо и рухнет.
Именно проверять флаг. Насчет часто или не часто не спорьте. Ведь вам советует опытный человек.
Сравнение вложеных циклов с прерыванием выдает в вас отсутствие опыта.