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

 
 
 
Reply to this topicStart new topic
> Прерывание от системного устройства AT91SAM7X512, определение источника прерывания.
igorenja
сообщение Aug 24 2009, 10:15
Сообщение #1


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

Группа: Свой
Сообщений: 130
Регистрация: 8-08-08
Из: Новосибирск
Пользователь №: 39 488



Доброе время суток!
Мне в моём проекте необходимо использовать прерывание от PIT (периодического интервального таймера). Из DS известно, что прерывания от PIT, DBGU_UART и ещё много от чего мультиплексированы на один вход AIC номер 1. Это значит что в обработчике прерывания нужно определять его источник. По логике вещей должен быть регистр считав значение которого можно определить источник прерывания. Вот собственно и вопрос: как называется этот регистр и есть ли он вообще. В принципе у каждого из системных периферийных устройств есть свои регистры статуса в которых поднимаются флаги при наступлении прерывания но этот путь мне как то не очень нравится...
Всем спасибо!
Go to the top of the page
 
+Quote Post
head_sk
сообщение Aug 24 2009, 10:23
Сообщение #2


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

Группа: Участник
Сообщений: 80
Регистрация: 3-07-09
Пользователь №: 50 897



Вам нужно поочередно опрашивать статусные регистры каждого из устройств, другого пути нет.
Статустный регистр & Регистр маски прерывания, далее анализируется нужно вам обрабатывать прерывание от конкретного события или нет.

Сообщение отредактировал head_sk - Aug 24 2009, 10:24
Go to the top of the page
 
+Quote Post
igorenja
сообщение Aug 24 2009, 10:33
Сообщение #3


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

Группа: Свой
Сообщений: 130
Регистрация: 8-08-08
Из: Новосибирск
Пользователь №: 39 488



Цитата(head_sk @ Aug 24 2009, 17:23) *
Вам нужно поочередно опрашивать статусные регистры каждого из устройств, другого пути нет.
Статустный регистр & Регистр маски прерывания, далее анализируется нужно вам обрабатывать прерывание от конкретного события или нет.

Корявенький метод, на мой взгляд, но если другого пути нет, то придётся так и делать...
Спасибо!
Go to the top of the page
 
+Quote Post
head_sk
сообщение Aug 24 2009, 10:38
Сообщение #4


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

Группа: Участник
Сообщений: 80
Регистрация: 3-07-09
Пользователь №: 50 897



Конечно может и есть другой метод, но я его не знаю smile.gif
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Aug 24 2009, 10:44
Сообщение #5


Гуру
******

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



Цитата(head_sk @ Aug 24 2009, 14:38) *
Конечно может и есть другой метод, но я его не знаю smile.gif

Нет другого способа. И ничего сильно корявого тоже - обычно разбирать приходится DBGU и PIT, а RSTC, WDT, PMC и особенно RTT могут обойтись без прерываний.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 16:51
Рейтинг@Mail.ru


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