Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Прерывание в прерывании
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Student21
Запрещаются ли прерывания от внешних источников, если заходим втпрерывание от таймера?

Например, если хочу чтобы данные непрерывно поступали в буфер от АЦП, то по возникновению прерывания от внутреннего таймера нужноли разрешать внешние прерывания от АЦП, даже если они уже были разрешены до прерывания?

В примерах от Атмела таких конструкций не в стречал, но для AVR это нужно было делать обязательно. Вот и задумался...
aaarrr
Цитата(Student21 @ Mar 27 2011, 14:36) *
Запрещаются ли прерывания от внешних источников, если заходим втпрерывание от таймера?

Запрещаются.

Цитата(Student21 @ Mar 27 2011, 14:36) *
Например, если хочу чтобы данные непрерывно поступали в буфер от АЦП, то по возникновению прерывания от внутреннего таймера нужноли разрешать внешние прерывания от АЦП, даже если они уже были разрешены до прерывания?

Повесьте прерывание от АЦП на FIQ или используйте ПДП. Городить вложенные прерывания из-за одного источника не стоит.
Student21
Очень странно.

Для теста я только выставил в прерывании от АЦП вывод на отладочный порт числа.

Теперь в прерывании от таймера запускаю бесконечный цикл while(1){};

Но в порт приходят числа, что говорит о том, что прерывания от таймера прерываются прерываниями от АЦП (IRQ2) (кстати прерывания от АЦП более приоритетные).
DpInRock
Значит около прерывания от таймера есть слово "nested".
Это в случае - если вы на самом деле видите то, о чем говорите.
(В большинстве случаев это не так).
aaarrr
Цитата(Student21 @ Mar 27 2011, 15:32) *
Очень странно.

Если вы ковыряете какой-нибудь атмеловский пример, то весьма вероятно что вложенные прерывания в нем уже организованы (самым идиотским способом и с жутким оверхедом).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.