Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
А для вложенных прерываний в AVR я должен записать __enable_interrupt() вначале обработчика, ага?
Отправлено
Vladimir Ljaschko
24 апреля 2007 г. 15:54
Составить ответ
|
Вернуться на конференцию
Ответы
Для этого есть модификатор __nested.
—
Леонид Иванович
(24.04.2007 16:37:9
87.252.227.57
,
пустое
)
Не в моей версии -не хочет.
—
Vladimir Ljaschko
(24.04.2007 17:12:33
194.158.204.49
,
пустое
)
Это одна из причин, почему я перешел на 4.21.
—
Леонид Иванович
(25.04.2007 12:09:51
87.252.227.57
,
пустое
)
В сущности - да, но не совсем. Таким способом можете пропустить до 50-ти тактов (пролог). Смотря на чём пишете. В компиляторах Си, обычно есть шаблончик или атрибут (н-р для gcc - __attribute__((interrupt))).
—
Юрий_СВ
(24.04.2007 16:16:28
91.124.106.51
,
пустое
)
IAR С. 50 тактов сейчас не особенно критично, это программного COM, работает до 9600, но вдруг придется увеличить.
—
Vladimir Ljaschko
(24.04.2007 16:28:47
194.158.204.49
,
пустое
)
Для ИАРа по-моему компилятор из __enable_interrupt() делает одну инструкцию sei.
—
Михаил Е.
(24.04.2007 16:55:12
81.13.30.10
,
пустое
)
Это понятно, теперь мы ее засовываем до сохранения регистров.
—
Vladimir Ljaschko
(24.04.2007 16:59:4
194.158.204.49
,
пустое
)
Т.е. зависит от вашей ситуации. Если нужно разрешить сразу - используйте атрибут или шаблон. Если нужно разрешить после нескольких критичных действий - пишите "sei".
—
Юрий_СВ
(24.04.2007 16:20:47
91.124.106.51
,
пустое
)
Если до этого не запрещал, то можно и не разрешать снова
—
omen
(24.04.2007 16:14:5
212.176.3.10
,
пустое
)
Разрешение ВЛОЖЕННЫХ надо принудительно делать именно внутри обработчика
—
=AVR=
(24.04.2007 16:20:30
80.92.96.19
, 272 байт)
Да, сорри, был не прав, I сбрасывается хардварно.
—
omen
(24.04.2007 16:29:27
212.176.3.10
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
сколько миллиампер в одном ампере ?:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru