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

 
 
> Прерывания в AVR
archi2000
сообщение Nov 12 2006, 17:09
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 38
Регистрация: 30-09-05
Пользователь №: 9 098



Хочу уточнить правильно ли я понял.
Если запрещены внешние прерывания, но случается несколько событий, то флаг прерывания устанавливается только один раз. Разрешаем прерывания и этот флаг сбрасывается и выполняется код прерывания по соответствующему вектору?
Теперь еще хочу такое запрограммировать - в соответсвующих регистрах ядра тоже запретить внешние прерывания, а не только коммандой CLI - флаг внешнего прерывания выставляется? Как долго этот флаг существует? Пока я его сам не сброшу или не выполнится вектор прерывания?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GetSmart
сообщение Nov 14 2006, 15:18
Сообщение #2


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Прерывание по уровню вызывается мгновенно при присутствии активного внешнего сигнала и разрешённых глобальных прерываниях. Бит прерывания нигде не устанавливается, сам не сбрасывается и помогать ему в этом не надо.

Насчёт 1+1=0 прикольно :-)
Мне такое и в голову не приходило. Но скорее всего сделано не так. И программно такой бит не установить. Если кто проверет - сообщите. Самому интересно.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
xemul
сообщение Nov 14 2006, 17:41
Сообщение #3



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(GetSmart @ Nov 14 2006, 18:18) *
Насчёт 1+1=0 прикольно :-)
Мне такое и в голову не приходило. Но скорее всего сделано не так.

Именно так и сделано. Для проверки можете разрешить какое-нибудь прерывание при взведенном флаге этого прерывания - незамедлительно отправитесь по соответствующему векторуsmile.gif.
Цитата
И программно такой бит не установить. Если кто проверет - сообщите. Самому интересно.

Сам бит прерывания программно не установить. Тем не менее (из даташита на mega48, в остальных аналогично):
Цитата
The External Interrupts are triggered by the INT0 and INT1 pins or any of the PCINT23..0 pins.
Observe that, if enabled, the interrupts will trigger even if the INT0 and INT1 or PCINT23..0 pins
are configured as outputs. This feature provides a way of generating a software interrupt.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- archi2000   Прерывания в AVR   Nov 12 2006, 17:09
- - bodja74   Цитата(archi2000 @ Nov 12 2006, 20:09) Хо...   Nov 12 2006, 17:25
- - archi2000   Понимаю я может и правильно, но не правильно задал...   Nov 12 2006, 17:39
- - bodja74   Совершенно правильно . Но с подобными маневрами не...   Nov 12 2006, 17:54
- - archi2000   Спасибо, но я сам хочу задать время обработки этих...   Nov 12 2006, 18:02
|- - SasaVitebsk   Цитата(archi2000 @ Nov 12 2006, 21:02) Сп...   Nov 13 2006, 00:50
- - bodja74   Если я правильно понял принцип,то есть другой спос...   Nov 12 2006, 18:17
- - archi2000   Таймера и приоритетность прерываний у меня использ...   Nov 12 2006, 18:35
- - bodja74   Ну все очень просто. 1 Пошел сигнал от датчика ,по...   Nov 12 2006, 18:44
|- - Nanobyte   Цитата(bodja74 @ Nov 12 2006, 22:44) ... ...   Nov 12 2006, 21:29
- - archi2000   Так оно примерно сейчас и работает, таймер меряет ...   Nov 12 2006, 18:51
- - archi2000   Еще прошу помощи - даташит на неродном языке. Проц...   Nov 14 2006, 14:47
- - Pyku_He_oTTyda   ЦитатаПочему для сброса флага нужно записывать лог...   Nov 14 2006, 14:53
- - archi2000   Спасибо, я сам также думал, что когда там 1, то 1+...   Nov 14 2006, 14:58
|- - klop   Цитата(GetSmart @ Nov 14 2006, 18:18) Нас...   Nov 14 2006, 16:33
- - archi2000   Хочу такое запрограммировать - программный одновиб...   Nov 14 2006, 15:29
|- - SasaVitebsk   Цитата(archi2000 @ Nov 14 2006, 18:29) Хо...   Nov 15 2006, 16:57
- - GetSmart   Инициализируете нужное прерывание по фронту (или с...   Nov 14 2006, 16:16
- - GetSmart   Цитата(xemul)ЦитатаThe external interrupts are tri...   Nov 14 2006, 18:54
|- - _Bill   Цитата(GetSmart @ Nov 14 2006, 21:54) Цит...   Nov 15 2006, 07:10
|- - IgorKossak   Цитата(GetSmart @ Nov 14 2006, 20:54) Цит...   Nov 15 2006, 07:36
- - Diusha   «А жаль. Лучше бы софтовые прерывания вызывать мен...   Nov 15 2006, 04:23
- - GetSmart   Ну все тут прямо знатоки аглицкого как я погляжу. ...   Nov 15 2006, 09:25
- - Dog Pawlowa   Как по мне, то любая неочевидная логика работы уст...   Nov 15 2006, 11:27


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 18:58
Рейтинг@Mail.ru


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