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

 
 
> Прерывания в 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
IgorKossak
сообщение Nov 15 2006, 07:36
Сообщение #3


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(GetSmart @ Nov 14 2006, 20: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-армах.

even if переводится как "даже если", а вовсе не как "нужно".
Смысл от этого меняется кардинально.
Что же касается софтовых прерываний, то их в AVR нет вообще если никак не трогать периферию.
Согласен, что в некоторых ARM (да и других контроллерах) этот вопрос решён лучше.

Цитата(Diusha @ Nov 15 2006, 06:23) *
А зачем? Разве трудно в прогу всавить rcall Int_SubRoutine?

При обычном вызове процедуры прерывания, т. е. собственно через прерывание, а не через call, прерывания запрещаются.
Этого нет при вызове через call. Запрещать прерывания придётся вручную до вызова.
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
|- - _Bill   Цитата(GetSmart @ Nov 14 2006, 21:54) Цит...   Nov 15 2006, 07:10
- - 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 Текстовая версия Сейчас: 28th July 2025 - 19:30
Рейтинг@Mail.ru


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