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

 
 
 
Reply to this topicStart new topic
> Прерывание в прерывании, для AT91SAM9G45
Student21
сообщение Mar 27 2011, 11:36
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 80
Регистрация: 11-12-10
Пользователь №: 61 546



Запрещаются ли прерывания от внешних источников, если заходим втпрерывание от таймера?

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

В примерах от Атмела таких конструкций не в стречал, но для AVR это нужно было делать обязательно. Вот и задумался...
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 27 2011, 11:55
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Student21 @ Mar 27 2011, 14:36) *
Запрещаются ли прерывания от внешних источников, если заходим втпрерывание от таймера?

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

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

Повесьте прерывание от АЦП на FIQ или используйте ПДП. Городить вложенные прерывания из-за одного источника не стоит.
Go to the top of the page
 
+Quote Post
Student21
сообщение Mar 27 2011, 12:32
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 80
Регистрация: 11-12-10
Пользователь №: 61 546



Очень странно.

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

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

Но в порт приходят числа, что говорит о том, что прерывания от таймера прерываются прерываниями от АЦП (IRQ2) (кстати прерывания от АЦП более приоритетные).

Сообщение отредактировал Student21 - Mar 27 2011, 12:32
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Mar 27 2011, 13:18
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Значит около прерывания от таймера есть слово "nested".
Это в случае - если вы на самом деле видите то, о чем говорите.
(В большинстве случаев это не так).


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 27 2011, 13:51
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Student21 @ Mar 27 2011, 15:32) *
Очень странно.

Если вы ковыряете какой-нибудь атмеловский пример, то весьма вероятно что вложенные прерывания в нем уже организованы (самым идиотским способом и с жутким оверхедом).
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 00:04
Рейтинг@Mail.ru


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