Вопрос: а в мегаАВР есть такое понятие как приоритеты прерываний? Что-то в даташите не могу найти. Ткните носом, плиз.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
bialix
20 мая 2004 г. 16:13
Составить ответ
|||
Конференция
|||
Архив
Ответы
Приоритеты фиксированные в порядке следования векторов: RESET; INT0; INT1.....
—
Уэф
(20.05.2004 16:32,
пустое
)
Извините за вопрос, а какая разница? Если есть ктото оччеень беспокойный, типа spi, то все равно нужно разрешать вложение. Просто измениеие приоритета, даже еслиб это было возможно, ничегошенки не даст.
—
Уэф
(20.05.2004 16:48,
пустое
)
для 8051 я бы просто установил прерыванию от SPI наивысший приоритет, а вложенность там реализована аппаратно. Я почему-то подумал, что и АВР достаточно умный, чтобы так делать.
—
bialix
(20.05.2004 16:55,
пустое
)
чего не может того не может. :)
—
Уэф
(20.05.2004 17:12,
пустое
)
Есть. Не помню точно где написано. Приоритеты фиксированные, вектора прерываний
—
Bill
(20.05.2004 16:24, 84 байт)
Влад, по поводу MwoM я вечером отпишу. Когда SPI меня доконает окончательно
—
bialix
(20.05.2004 16:29,
пустое
)
OK!
—
Bill
(20.05.2004 16:35,
пустое
)
Там смысл такой, что если строго одновременно придут 2 штуки, то тогда обработаютца по порядку. Вложенность не предусмотрена.
—
AU
(20.05.2004 16:27,
пустое
)
На сайте ЭФО было в статьях про ATMEL, что отсутствие приоритетов тормозит развитие таких камней как MEGA256 и что узел приоритетов в 2004-2005 планируется, равно как и 100 выводная ATMEGA1280. Уж поскорее бы....
—
AU
(20.05.2004 16:31,
пустое
)
Тут тоже коротенько про прерывания
—
Bill
(20.05.2004 16:34,
пустое
,
ссылка
)
Про вложенность речь не шла.
—
Bill
(20.05.2004 16:29,
пустое
)
Это кто тут имеет желание по ПОНЯТИЯМ поговорить???
—
AU
(20.05.2004 16:22,
пустое
)
я имею. В меге162 приоритет прерывания определяется его положением в таблице векторов.
—
bialix
(20.05.2004 16:25, 58 байт)
точно помню, на первом месте - внешние прерывания, на последнем - компаратор.
—
Bill
(20.05.2004 16:31,
пустое
)
Оно в ATMEGA одно - запрет прерываний при входе в любой вектор. Поэтому, если хочешь приоритетов надо сложную хрень писать - запомнить все текущие настройки прерываний, разрешить те которые тебе надо, не забыть всё восстановить и т.д. и т.п. Выделять таким образом 1-2 прерывания с повышенным приоритетом можно, больше - да ну его на ..
—
AU
(20.05.2004 16:25,
пустое
)
Что-то больно сложно. Я при входе в прерывание просто разрешаю общие прерывания, получается все автоматом.
—
Михаил Е.
(20.05.2004 16:40,
пустое
)
Правда без приоритетов, но вложенность - пожалуйста.
—
Михаил Е.
(20.05.2004 16:42,
пустое
)
т.е. просто дать команду SEI и надеяться на лучшее?
—
bialix
(20.05.2004 16:57,
пустое
)
Не совсем, еще надо запретить то прерывание, в котором ты это делаешь, то бишь текущее. Что случайно в него еще раз не ввалиться =)))
—
ShiphT
(20.05.2004 17:22,
пустое
)
Неправда ваша, это аппаратно делается.
—
Михаил Е.
(20.05.2004 17:50,
пустое
)
Вообще то не все. Например RXC сбрасывается только после чтения UDR.
—
Уэф
(20.05.2004 18:33,
пустое
)
Ой сомневаюсь... Нигде не встречал. Речь только о глобальных везде вроде как.
—
ShiphT
(20.05.2004 17:58,
пустое
)
Это тут ->
—
Михаил Е.
(20.05.2004 18:02,
пустое
,
ссылка
)
Та тоже нигде не написано что текущее прерывание запрещается. Только бит Global Interrupt Enable
—
ShiphT
(20.05.2004 18:06,
пустое
)
Если же речь идет о (+)
—
ShiphT
(20.05.2004 18:09, 166 байт)
Это не дает повторно уйти в одно и то же прерывание. Разьве этого не достаточно?
—
Михаил Е.
(20.05.2004 18:21,
пустое
)
придется этим геммороем пострадать, чтобы выделить SPI на первое место по приоритетам
—
bialix
(20.05.2004 16:32,
пустое
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru