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

 
 
> IRQ, Как подкючить канал перываний к слоту прерыванй
Novichok1
сообщение Jul 23 2009, 09:53
Сообщение #1


Участник
*

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



Разбираюсь с LPC2478, после прочтения соответствующей литературы сложилось некоторое представление о настройке IRQ прерываний:
есть некотроый канал прерываний, по которому некое устройство шлет свои прерывания,
есть модуль VIC со своими слотами, причем у каждого слота есть регистр адреса обработчика прерывания VICVectAddrxx(это понятно), и регистр упраления вектором VICVectCntrlxx, у котрого имеется два поля: номер канала и флаг разрешения прерывания, причем последнее наверное состоит из одного млашего бита.
Так вот, хотелось бы знать, верно ли мое представление, и откуда брать номер канала прерывания для различных устройств.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Novichok1
сообщение Jul 24 2009, 06:19
Сообщение #2


Участник
*

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



Все, вроде понимание появилось, но прерывания все-равно не хотят работатьsad.gif
Подскажите пожалуйста, что делаю не так, или чего не хватает?

Настраиваю прерывания IRQ таким образом

Код
void Irq_init
{
        PINSEL0 = 0x00100000; // Настраиваю пин P2.10 на внешнее прерывание EINT0
      VICIntSelect &= ~0x00004000; // Настраиваю прерывание по слоту 14 как IRQ
      VICIntEnable |= 0x00004000; // Делаю это прерывание доступным
      VICVectCntl14 = 0x05; // Настраиваю приоритет прерывания (наверное)
      VICVectAddr14 = (tU32)Irq_Handler; // Указываю адрес обработчика
}

void Irq_Handler(void) __attribute__((interrupt("IRQ"))); // Указываю компилятору, что это IRQ- обработчик

Собственно, обработчик:
void Irq_Handler(void)
{
    FIO2DIR |= P2i00;
    FIO2SET |= P2i00; // Мигаю светодиодом

        EXTINT = 0x00000002;//Clear the peripheral interrupt flag
        VICVectAddr = 0x00000000;//Dummy  write to signal end of interrupt
}
Причина редактирования: Оформление цитаты исходника.
Go to the top of the page
 
+Quote Post



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

 


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


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