Могут помочь стандартные функции setjmp и longjmp.
#include "setjmp.h" jmp_buf redo_point;
__interrupt void foo1(void) { ... longjmp(&redo_point,1); //Тут будет переход на оператор за setjmp
}
main {
.... setjmp(&redo_point); //Устанавливаем точку длинного перехода
}
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|