lunes, 20 de febrero de 2017

PRACTICA # 7 INTERRUPCIÓN EXTERNA (IRQx)

OBJETIVO:
       Se habilitará la interrupción externa IRQ8 con la que cuenta el MCU R5F563NB de la tarjeta de evaluación YRDKRX63N. Por medio del Switch 1 si simulara la entrada para que la interrupción detecte ambos francos de subida y bajada respectivamente.
  • Configurar el módulo IRQ8
  • Detectar la interrupción por franco encendiendo un led 4

DESARROLLO:
  • Del manual Renesas RX63N RDK User's Manual ubicamos el switch 1 y led 4


  • Del RX63N Group User's Manual: Hardware página 718 se define el pin P40 como interrupción:
MPC.P40PFS.BYTE = 0x40; // P40 is used as IRQ pin



PASOS:
  • Creación de un proyecto:
1.- Abrir el software e2studio
2.- New/ C Project / Renesas RXC ToolChain


3.- Seleccionar el target R5F563NB, debug hardware Segger jLink, después next


4.- Seleccionar C/C++ Source file y por ultimo Finish.


5.- Configuraremos el módulo de interrupción externa IRQ8 en el archivo IRQx.c

void init_irq8(void)
{
            /* Make the pins inputs */
            PORT4.PDR.BIT.B0 = 0;
            PORT4.PMR.BIT.B0 = 0;    // como I/O general
            MPC.P40PFS.BYTE = 0x40;    // P40 is used as IRQ pin
            /*
             * Select operation mode of the IRQ (IRQMD)
             * 0 -> low level
             * 1 -> Falling edge
             * 2 -> Rising edge
             * 3 -> Rising and Falling edge
             */
            ICU.IRQCR[8].BIT.IRQMD = 1;

            /* Set interrupt priority to 5 */
            IPR(ICU, IRQ8 )= 0x05;

            /* Clear any pending interrupts */
            IR (ICU, IRQ8 )= 0;

            /* Enable the interrupts */
            IEN(ICU, IRQ8 )= 1;
}

6.- El nombre de la interrupción en interrupt_handlers.c es Excep_IRQ8 y en vect.h es Excep_ICU_IRQ8. Así que cambiaremos la de interrupt_handlers.c con el nombre de la de vect.h y queda definida de la siguiente forma:

// IRQ8
void Excep_ICU_IRQ8(void)
{
    PORTD.PODR.BIT.B5 = ~PORTD.PODR.BIT.B5;
}

  • Agregar código, compilar y debug:
1.- Bajar el código de:
--> Practica #7

2.- Compilar con el icono del martillo y debug con el icono del insecto:


VÍDEO:


No hay comentarios.:

Publicar un comentario