Uso de interrupciones en el LPC21xx
Cómo configurar las interrupciones en el LPC 1.Establecer las isr para irq y fiq CW: void irq_handler(void) __attribute__ ((interrupt(“irq”))); WA: void __attribute__ ((interrupt(“irq”))) irq_handler(void); Para las fiq solamente cambiar “irq” por “fiq” Esos nombres son obligatorios 2.Escribir el código de la rutina de la interrupción irq o fiq void irq_handler(void){ ... } void fiq_handler(void){ ... } 3.Seleccionar la función alterna al pin con PINSELx 4.Seleccionar si va a ser fiq o irq con VICIntSelect (0: irq, 1: fiq) 5.Habilitar la interrupción con VICIntEnable 6.Escoger la prioridad con VICVectCntlx (x: 0-15, 0 tiene la mayor prioridad) Para las fiq se recomienda tener sólo una 7.Establecer la dirección de la callback con VICVectAddrx (x:0-15) 8.Escribir el código de la rutina que manejará la interrupción del periférico void eint0(void){...} El nombre de esta función es el mismo que se usa en el punto 5 9.Habilitar las interrupciones CW: __armlib_enableirq(); WA: 10.Repetir del ...
Comentarios