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

 
 
> Прерывания в 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, 18:54
Сообщение #2


.
******

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



Цитата(xemul)
Цитата
The external interrupts are triggered by the INT0, and INT1 pins. Observe that, if
enabled, the interrupts will trigger even if the INT0..1 pins are configured as outputs.
This feature provides a way of generating a software interrupt.
Тут немного о другом написано. Написано что для софтовых прерываний нужно сконфигурить нужный вход прерывания как выход и установив на нём нужный сигнал вызвать прерывание. К битам INTFx это отношение не имеет. А жаль. Лучше бы софтовые прерывания вызывать менее извратно, например как в LPC-армах.


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


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(GetSmart @ Nov 14 2006, 21:54) *
Цитата(xemul)
Цитата
The external interrupts are triggered by the INT0, and INT1 pins. Observe that, if
enabled, the interrupts will trigger even if the INT0..1 pins are configured as outputs.
This feature provides a way of generating a software interrupt.
Тут немного о другом написано. Написано что для софтовых прерываний нужно сконфигурить нужный вход прерывания как выход и установив на нём нужный сигнал вызвать прерывание. К битам INTFx это отношение не имеет. А жаль. Лучше бы софтовые прерывания вызывать менее извратно, например как в LPC-армах.

Ну, вот и приехали!!! Как раз все наоборот. Тут же ясно все написано. Внешние прерывания могут возникать и тогда, когда порты ВВ установлены на вывод. Но если прерывания возникли, то соответствующие флаги INTFx будут устанавливаться. Посмотрите схему конфигурации портов в DS внимательней.
Изменяя в программе значения на выходных портах (1->0 или 0->) Вы сможете вызывать прерывания в нужный момент времени. Но, еще раз повторюсь, external interrupts возникают при изменении значения на входе пина, независимо от того, как сконфигурирован порт, на ввод или на вывод.
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
- - GetSmart   Прерывание по уровню вызывается мгновенно при прис...   Nov 14 2006, 15:18
|- - klop   Цитата(GetSmart @ Nov 14 2006, 18:18) Нас...   Nov 14 2006, 16:33
|- - xemul   Цитата(GetSmart @ Nov 14 2006, 18:18) Нас...   Nov 14 2006, 17:41
- - archi2000   Хочу такое запрограммировать - программный одновиб...   Nov 14 2006, 15:29
|- - SasaVitebsk   Цитата(archi2000 @ Nov 14 2006, 18:29) Хо...   Nov 15 2006, 16:57
- - GetSmart   Инициализируете нужное прерывание по фронту (или с...   Nov 14 2006, 16:16
|- - 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 Текстовая версия Сейчас: 29th July 2025 - 10:04
Рейтинг@Mail.ru


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