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

 
 
> AT91SAM7S и внешние прерывания по фронту, как настроить для разных входов разные режимы?
kumle
сообщение Jan 15 2011, 12:54
Сообщение #1


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

Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280



Столкнулся с задачей когда одним входом нужно регистрировать начало импульса (полож. фронт) а другим входом конец импульса (отриц фронт).
Решил делать через внешние прерывания.
Знаю что режим такого прерывания задается в регистре AIC_SMR[source] : биты [2:0] задают приоритет прерывания, а биты [6:5] задают режим, например если [6:5]=11 то по положительному перепаду, а если 01 то по отрицательному перепаду. Но мне то нужно одновременно и то и другое, а source (источник) прерывания всего один это AT91C_ID_PIOA то бишь какой бы я вывод не подключил к этому прерыванию, получается для них для всех будет одинаковая настройка режима прерывания (либо только по положительному либо только по отрицательному)?
Может я чего то упустил в изучении? Или многого хочу?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Aurochs
сообщение Jan 16 2011, 17:34
Сообщение #2


Ортодокс
***

Группа: Свой
Сообщений: 219
Регистрация: 26-10-07
Из: Смела, Украина
Пользователь №: 31 775



Вход, на котором нужно фиксировать положительный фронт, можно подключить на IRQ0, а вход, на котором нужно фиксировать отрицательный фронт - на IRQ1. Ну, и соответствующим образом программируем контроллер прерываний...
Go to the top of the page
 
+Quote Post
kumle
сообщение Jan 17 2011, 08:02
Сообщение #3


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

Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280



Цитата(Aurochs @ Jan 16 2011, 20:34) *
Вход, на котором нужно фиксировать положительный фронт, можно подключить на IRQ0, а вход, на котором нужно фиксировать отрицательный фронт - на IRQ1. Ну, и соответствующим образом программируем контроллер прерываний...

Понятно, жаль что на моей отладочной плате на IRQ0 навесили кнопку !

А я правильно понимаю, что к другим (не к IRQ0/IRQ1) входам PIO тоже можно прикрутить прерывание, но источник прерывания будет один и соответственно приоритет и другие настройки (срабатывание по переднему/по заднему фронту) тоже одни и те же для всех входов подключенных к прерыванию ?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 17 2011, 08:51
Сообщение #4


Гуру
******

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



Источник будет один от всего блока PIO, и этот источник будет внутренним, настроить его можно только на срабатывание по высокому уровню или положительному фронту.
Эта настройка никоим образом не относится к самим сигналам PIO, прерывание всегда генерируется по любому фронту.
Go to the top of the page
 
+Quote Post
kumle
сообщение Jan 17 2011, 09:39
Сообщение #5


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

Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280



Цитата(aaarrr @ Jan 17 2011, 11:51) *
Источник будет один от всего блока PIO, и этот источник будет внутренним, настроить его можно только на срабатывание по высокому уровню или положительному фронту.
Эта настройка никоим образом не относится к самим сигналам PIO, прерывание всегда генерируется по любому фронту.


То есть если я правильно понял, то тут некая двойственность при настройке прерываний от входов PIO?
И еще немного непонятно что такое срабатывание по высокому уровню (с фронтами понятно.)
Go to the top of the page
 
+Quote Post



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

 


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


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