|
безусловный переход из прерывания, как?! |
|
|
|
Nov 29 2013, 15:31
|

Частый гость
 
Группа: Свой
Сообщений: 153
Регистрация: 5-03-05
Из: Москва
Пользователь №: 3 098

|
Организовано системное прерывание по таймеру (каждые 8мс). В нем делаю всякие дела (антидребезг, большие временные интервалы, и т. д). Хочу в этом прерывании организовать программный счетчик таймаута. Но так, чтобы в случае наступления таймаута меня перекидывало в нужную мне точку программы, в начало некого цикла. Предлагать использовать ватчдог-таймер не надо. Он будет перекидывать в начало программы, а мне это не нужно. Я вот что-то призабыл. Когда писал в асме вроде бы можно было сделать любой переход из любой точки. Или по метке, или непосредственно задавая значение (приращение) программного счетчика. Сейчас делаю программу в С, и вот тут, как раз возникли трудности. goto по метке не работает. Работает только в пределах одной функции. А как из прерывания? Ведь прерывание - аппаратная функция и может возникнуть в любой момент выполнения основной программы. Т. е точка входа и выхода неизвестна.
Нутром понимаю, что сделать можно. Но как?!
|
|
|
|
|
 |
Ответов
|
Dec 1 2013, 11:38
|

Частый гость
 
Группа: Свой
Сообщений: 153
Регистрация: 5-03-05
Из: Москва
Пользователь №: 3 098

|
Спасибо за все, брошенные в меня, тухлые помидоры. Так много откликов! Видать тема больная.  Конечно, можно было бы, с моей стороны, и дальше "расчесывать" больное место, но я пока этого делать не буду. Потом, как-нибудь. Я понял, что путь этот сложен и тернист. Моя задача позволяет несколько вариантов решения, в том числе и без затрагивания действий сомнительной репутации. Так что, спасибо, тема закрыта.
|
|
|
|
Сообщений в этой теме
Zandy безусловный переход из прерывания Nov 29 2013, 15:31 Сергей Борщ setjump(), longjump(). Nov 29 2013, 15:46 slog Если в IAR то
asm("rjmp имя_функции_куда_пер... Nov 29 2013, 15:49 _pv Цитата(slog @ Nov 29 2013, 22:49) Но вооб... Nov 29 2013, 22:48 kovigor Цитата(Zandy @ Nov 29 2013, 18:31) Нутром... Nov 29 2013, 16:11 Zandy setjump(), longjump(). Здесь я что-то ни хрена не ... Nov 29 2013, 16:28 SSerge Цитата(Zandy @ Nov 29 2013, 23:28) setjum... Nov 29 2013, 16:43 kovigor Цитата(Zandy @ Nov 29 2013, 19:28) В моем... Nov 29 2013, 16:53 A. Fig Lee Цитата(Zandy @ Nov 29 2013, 11:28) По пов... Nov 29 2013, 20:03 Сергей Борщ QUOTE (Zandy @ Nov 29 2013, 19:28) я что-... Nov 29 2013, 22:19 zombi Прерывание на то оно и прерывание.
Должно прервать... Nov 30 2013, 00:01 slog Цитата(Zandy @ Nov 29 2013, 19:28) По пов... Nov 30 2013, 05:47 kolobok0 Цитата(Zandy @ Nov 29 2013, 19:31) ...Нут... Nov 30 2013, 20:44 kovigor Цитата(Zandy @ Dec 1 2013, 15:38) Я понял... Dec 1 2013, 12:39 Tarbal Цитата(Zandy @ Dec 1 2013, 14:38) Спасибо... Dec 2 2013, 13:04 ILYAUL ЦитатаЯ вот что-то призабыл. Когда писал в асме вр... Dec 1 2013, 16:58 sigmaN Я понимаю, что вы предупреждали, но ведь Watchdog ... Dec 12 2013, 15:13
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|