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

 
 
> Обработка прерывания от SPI, at91sam7s256
Bulat
сообщение Mar 30 2007, 09:53
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 206
Регистрация: 12-10-06
Из: ufa
Пользователь №: 21 241



1. Какому источнику прерывания в регистре AIC_IECR (PID2, 3, 4,...) соответствует прерывание от SPI?
2. Вектор прерывания ARM находится по адресу 0х18. Можно по этому адресу записать команду, типа goto "метка", а метку уже поставить рядом с функцией обработки прерывания, ну и таким образом вызвать функцию обработки прерывания? Ну даже если делать как написано в документации, т.е. производить чтение AIC_IVR, то как именно по адресу 0х18 записать нужную команду. Я понимаю так:

adr[int()]=0x18; //задаем адрес ф-ии int()
void int()
{
goto 1;
}
1: void irq() //функция обрабоки прерывания
{
...
}

Только оператор adr[] IAR не воспринимает.
3. Как по другому задать адрес функции?
Если можно то напишите свой вариант кода на С.
Заранее благодарен!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rahhal
сообщение Apr 6 2007, 10:44
Сообщение #2





Группа: Новичок
Сообщений: 6
Регистрация: 3-04-07
Пользователь №: 26 726



Пардон, если пишу глупость, но:
правильно ли я понимаю, что вектор прерывания связан с источником, а не с событием, и еслиу нас прерывания по нескольким событиям (конец передачи, конец приема и т.д.) от одного источника (UART, SPI...) ВЫЗЫВАЕТСЯ ОДИН И ТОТ ЖЕ обработчик, а в нем сам программист разбирается, что произошло за событие?
Go to the top of the page
 
+Quote Post



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

 


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


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