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

 
 
> Выход из прерывания в требуемую точку
Krom
сообщение May 17 2011, 13:48
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 27-06-05
Из: Россия
Пользователь №: 6 324



Контроллер LPC1768. Задача: в определенный момент выйти из прерывания (UART) в требуемую точку, а уж оттуда потом продолжить выполнения с места, где возникло прерывание. Никаких ОС не используется.
В контроллерах семейства 8051 это делалось элементарно:
; сохраняем регистр прерываний
push IE
; запрещаем прерывания
clr EA
; берем требуемый адрес
mov DPTR,#PROCESS
; подсовываем в стек
push DPH
push DPL
; и выходим куда нужно
reti

А вот как сделать нечто подобное в Cortex M3? Как корректно передать управление нужному процессу из обработчика прерывания, да так, чтобы ничего не испортить,а затем уже из того процесса корректно вернуться в нужное место?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Krom   Выход из прерывания в требуемую точку   May 17 2011, 13:48
- - scifi   Цитата(Krom @ May 17 2011, 17:48) Контрол...   May 17 2011, 14:04
- - kovigor   Цитата(Krom @ May 17 2011, 16:48) Как кор...   May 17 2011, 15:18
|- - paskal   Цитата(kovigor @ May 17 2011, 19:18) В пр...   May 17 2011, 16:04
|- - aaarrr   Цитата(paskal @ May 17 2011, 20:04) Зря в...   May 17 2011, 16:19
|- - paskal   Цитата(aaarrr @ May 17 2011, 20:19) Ну, х...   May 17 2011, 18:15
||- - ReAl   Цитата(paskal @ May 17 2011, 21:15) А вот...   May 17 2011, 18:51
|||- - paskal   Цитата(ReAl @ May 17 2011, 22:51) Что-то ...   May 17 2011, 19:14
|||- - AHTOXA   Цитата(paskal @ May 18 2011, 01:14) Конеч...   May 17 2011, 20:04
||- - KnightIgor   Цитата(paskal @ May 17 2011, 20:15) А вот...   May 17 2011, 18:55
||- - ReAl   Цитата(paskal @ May 17 2011, 21:15) Друго...   May 17 2011, 19:05
|- - VslavX   Цитата(aaarrr @ May 17 2011, 19:19) Ну, х...   May 17 2011, 19:10
|- - Krom   Цитата(aaarrr @ May 17 2011, 20:19) Ну, х...   May 18 2011, 05:15
|- - scifi   Цитата(Krom @ May 18 2011, 09:15) Пример:...   May 18 2011, 05:22
|- - Krom   Цитата(scifi @ May 18 2011, 09:22) Некрас...   May 18 2011, 05:47
|- - scifi   Цитата(Krom @ May 18 2011, 09:47) а главн...   May 18 2011, 06:17
|- - Krom   Цитата(scifi @ May 18 2011, 10:17) И кост...   May 18 2011, 06:50
- - VladislavS   Кусок кода, который используется и в прерывании, и...   May 17 2011, 15:41
|- - klen   редизайн системы однозначно, и чем раньше тем мень...   May 17 2011, 15:49
- - brag   Сохранить адрес возврата (в регистре или в памяти,...   May 17 2011, 16:21
- - AHTOXA   Цитата(Krom @ May 17 2011, 19:48) Контрол...   May 17 2011, 17:11
|- - Krom   Цитата(AHTOXA @ May 17 2011, 21:11) практ...   May 18 2011, 05:26
|- - scifi   Цитата(Krom @ May 18 2011, 09:26) Команды...   May 18 2011, 05:30
- - Александр_С   А кто вам мешает использовать указатель на функцию...   May 17 2011, 19:00
- - scifi   В дополнение к вышесказанному: "Преждевременн...   May 17 2011, 19:10
- - ReAl   Цитата(Krom @ May 17 2011, 16:48) ; сохра...   May 17 2011, 21:09
- - _Pasha   Цитата(Krom @ May 18 2011, 08:15) Пример:...   May 18 2011, 05:34
- - Александр_С   Переключаться на другую задачю всегда надо через P...   May 18 2011, 07:01
|- - Krom   Цитата(Александр_С @ May 18 2011, 11:01) ...   May 18 2011, 07:14
- - Александр_С   //Формирование прерывания "PendSV_Handler...   May 18 2011, 07:15
- - VladislavS   Можно перед выходом из прерывания настроить таймер...   May 18 2011, 07:34
- - brag   ЦитатаТо есть, ваш вариант "в определенный мо...   May 18 2011, 12:24
|- - _Pasha   Цитата(brag @ May 18 2011, 15:24) все быс...   May 18 2011, 14:56
- - d__   Можно попробовать механизм setjmp & longjmp. П...   May 19 2011, 06:35
- - zovsilab   Правильно ли сделал запись по формированию и вызов...   May 20 2011, 11:59
- - brag   ну типа правильно, не помню только что там с приор...   May 20 2011, 12:20


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

 


RSS Текстовая версия Сейчас: 17th June 2025 - 23:42
Рейтинг@Mail.ru


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