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

 
 
> Применение vectored IRQ слотов
Karol
сообщение Dec 21 2004, 09:58
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 20
Регистрация: 23-06-04
Пользователь №: 150



В примере BlinkyIRQ от Кейла я попробовал поменять слот прерываний.
С IRQ слотом 0 программа на плате с LPC2294 работает нормально (отладка с U LINK в RAM).

// Setup the Timer Counter 0 Interrupt /
void init_timer (void)
{

// Timer 0
T0MR0 = 149999; // 10mSec = 150.000-1 counts
T0MCR = 3; // Interrupt and Reset on MR0
T0TCR = 1; // Timer0 Enable

VICVectAddr0 = (unsigned long)tc0; // set interrupt vector in 0
VICVectCntl0 = 0x20 | 4; // use it for Timer 0 Interrupt
VICIntEnable = 0x00000010; // Enable Timer0 Interrupt
}

Однако если сменить IRQ слот на 1,

VICVectAddr1 = (unsigned long)tc0; // set interrupt vector in 0
VICVectCntl1 = 0x20 | 4; // use it for Timer 0 Interrupt

то программа в симуляторе работает нормальо, но в реале не работает,
не появляются прерывания.

Если добавить Timer1 и поставить его на IRQ0, то станут работать оба
прерывания.

Я наверно что то не дочитал до конца - должен быть IRQ0 всегда использованым ?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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