реклама на сайте
подробности

 
 
> Переход из прерывания
Георгий
сообщение Feb 20 2006, 12:55
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957



Как сделать переход к определенному месту программы из программы прерывания. Мне нужно из прерывания по таймеру, при достижении определенного значения счетчика Counter переходить в определенное место программы. На ассемблере решалось просто, искусственно восстанавливаю стек и делаю переход к метке. А В ИАР как это сделать?


--------------------
Обычно последним смеется тот, кто хуже соображает!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Георгий
сообщение Feb 21 2006, 13:52
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957



Поправляюсь - функция чтения естественно одна. Но вызываеться она может с разных уровней. Но отсутствие устройства все рано определяется возникновением прерывания, и логично из него уйти в начало. Этим сейчас WDT занимается, но он делает полный сброс.


--------------------
Обычно последним смеется тот, кто хуже соображает!
Go to the top of the page
 
+Quote Post
defunct
сообщение Feb 21 2006, 14:05
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Георгий @ Feb 21 2006, 15:52) *
Поправляюсь - функция чтения естественно одна. Но вызываеться она может с разных уровней.

мало ли откуда она вызывается? главное чтобы функция чтения производила разбор протокола работы с устройством, и обрабатывала ошибки связи, а на верхний уровень передавала только правильно распознанные данные.

Цитата
Но отсутствие устройства все рано определяется возникновением прерывания, и логично из него уйти в начало. Этим сейчас WDT занимается, но он делает полный сброс.

В прерывании установить флаг ошибки устройства, который заблокирует например функцию чтения. Разблокировать этот флаг может например, функция "реанимации" устройства, которая будет вызываться пока флаг ошибки устройства установлен.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Георгий   Переход из прерывания   Feb 20 2006, 12:55
- - GxOST   это делается просто: в прерывании модифицируется ф...   Feb 20 2006, 13:08
- - dxp   Цитата(Георгий @ Feb 20 2006, 18:55) Как ...   Feb 20 2006, 13:14
- - Георгий   Цитатаэто делается просто: в прерывании модифициру...   Feb 20 2006, 13:21
|- - defunct   Цитата(Георгий @ Feb 20 2006, 15:21) где ...   Feb 20 2006, 14:44
- - Rst7   Могут помочь стандартные функции setjmp и longjmp....   Feb 20 2006, 13:55
- - Георгий   Дело в том, что после сброса устройства, программа...   Feb 21 2006, 11:27
|- - dxp   Цитата(Георгий @ Feb 21 2006, 17:27) Дело...   Feb 21 2006, 12:05
- - Aleks17   Не понимаю чем не устраивает вариант с volatile фл...   Feb 21 2006, 12:16
- - Георгий   Вся работа программы зависит от ответа устройства,...   Feb 21 2006, 12:24
|- - Rst7   Цитата(Георгий @ Feb 21 2006, 14:24) Вся ...   Feb 21 2006, 13:15
|- - dxp   Цитата(Георгий @ Feb 21 2006, 18:24) Вся ...   Feb 21 2006, 13:19
- - Aleks17   Иными словами, Вам необходимо перейти к началу как...   Feb 21 2006, 12:36
- - Георгий   Не совсем так, так было бы просто. if Error может ...   Feb 21 2006, 13:12
|- - defunct   Цитата(Георгий @ Feb 21 2006, 15:12) Не с...   Feb 21 2006, 13:29
- - Георгий   Что то инет у меня глючит, начинаю отвечать , отру...   Feb 21 2006, 13:43
|- - defunct   Цитата(Георгий @ Feb 21 2006, 15:43) Функ...   Feb 21 2006, 13:47
- - Георгий   Нет, уж я лучше оставлю все как есть. Иначе из-за ...   Feb 21 2006, 14:11
|- - defunct   Цитата(Георгий @ Feb 21 2006, 16:11) Нет,...   Feb 21 2006, 14:19
- - _artem_   Внутри одной функции переход с одной позиции в дру...   Feb 21 2006, 14:26
- - Георгий   ЦитатаМенять пришлось бы только функцию чтения... ...   Feb 22 2006, 05:08


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 10:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01396 секунд с 7
ELECTRONIX ©2004-2016