Показать сообщение отдельно
Непрочитано 16.05.2013, 18:43  
MaxiMuz79
Гражданин KAZUS.RUN
 
Аватар для MaxiMuz79
 
Регистрация: 06.04.2010
Адрес: Санкт-Петербург - Волжский
Сообщений: 528
Сказал спасибо: 73
Сказали Спасибо 56 раз(а) в 45 сообщении(ях)
MaxiMuz79 на пути к лучшему
По умолчанию GCC: Аварийный выход из прерывания (функции)

Возникла ситуация когда при обработке прерывания нужно изменить привычный ход программы, когда содержимое сохранненых регистров и указатель стека уже не важны. Оператор goto тут не работает:
Код:
ISR (xxx_vect)
{
  ...
  ...
  goto m1;
}
void main (void)
{
  ...
  ...
  while (1)
	{ ...
           ...
         }
m1:
  ...
  ...
}
Что можно здесь сделать ?

п.с.: тема возникла из предыдущей темы:
https://kazus.run/forums/showthread.php?t=104418

Последний раз редактировалось MaxiMuz79; 16.05.2013 в 18:49.
MaxiMuz79 вне форума