[an error occurred while processing this directive]
а хде обработчик самого прерывания IRQ, которое одно на всех ? VicVectAddr это еще не диспетчеризация (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено DASm 04 ноября 2006 г. 23:05
В ответ на: Вопрос про таймер LPC2106 отправлено <font color=gray>sh_a_ndrei</font> 04 ноября 2006 г. 22:59

правда видел среды, которые ставят по IRQ вектору что-то на вроде LPR PC [-0xfff0] или подобное, не помню. Я дык пишу прямо так примерно
[code]
#pragma vector=0x18
__irq __arm void IRQ_ISR_Handler (void)
{
void (*interrupt_function)();
unsigned int vector;
static unsigned int us_count;
vector = VICVectAddr;
interrupt_function = (void(*)())vector;
(*interrupt_function)(); // Call vectored interrupt function
VICVectAddr = 0; // Clear interrupt in VIC
}
[/code]
Соответсвенно для T0isr аттрибут _irq уже не нужен.
Может и еще косяки есть, не знаю пока

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 
URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание