ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
18 мая
53420 Топик полностью
Andy Mozzhevilov (10.03.2006 07:19, просмотров: 1) ответил Argon на Только начинаю разбираться с LPC, проблемы с прерываниями.
Обработчик прерывания нужно на вектор установить и обработать в прерывании vic 

typedef void (*PFNCT)(void);
volatile __no_init unsigned long VICVectAddr @ 0xFFFFF030;

#pragma vector = 0x18
void IRQ_Handler (void)
{
    PFNCT    pfnct;

    pfnct = (PFNCT)VICVectAddr;                      /* Read the interrupt vector from the VIC         */
    while (pfnct != (PFNCT)0)                        /* Handle ALL interrupting devices                */
    {
        (*pfnct)();                                  /* Call ISR for interrupting device               */
        VICVectAddr = 0;                             /* update priority hardware                       */

        pfnct = (PFNCT)VICVectAddr;                  /* Read the interrupt vector from the VIC         */
    }
}