sábado, 31 de diciembre de 2016

PRACTICA # 6 INTERRUPCIÓN EXTERNA (INTPx)

OBJETIVO:

Se habilitará la interrupción externa INTP9 con la que cuenta el MCU R5F104PJAFB de la tarjeta de evaluación YRDKRL78G14. Por medio del Switch 3 si simulara la entrada para que la interrupción detecte ambos francos de subida y bajada respectivamente.
  •  Configurar el modulo INTPx
  •  Detectar la interrupción por franco encendiendo un led 3

DESARROLLO:
  • Del manual Renesas RL78G14 RDK User's Manual ubicamos el switch 3


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


  •  Configurar proyecto:
1.- Clic derecho en el proyecto generado y seleccionar Properties



2.- Seleccionar C/C++ Build / Settings / Linker / Device y establecer los siguientes parámetros:
OCD = 85
Option Byte = efffe8
Palomear: Use range of debug monitor area. Nota: No establecer ningún valor solo dejarlo en blanco.
Apply y después OK.

3.- Configuraremos el modulo de interrupción externa INTC en el archivo r_cg_intc.c
void R_INTC_Create(void)
{
    PMK0 = 1U;    /* disable INTP0 operation */
    PIF0 = 0U;    /* clear INTP0 interrupt flag */
    PMK1 = 1U;    /* disable INTP1 operation */
    PIF1 = 0U;    /* clear INTP1 interrupt flag */
    PMK2 = 1U;    /* disable INTP2 operation */
    PIF2 = 0U;    /* clear INTP2 interrupt flag */
    PMK3 = 1U;    /* disable INTP3 operation */
    PIF3 = 0U;    /* clear INTP3 interrupt flag */
    PMK4 = 1U;    /* disable INTP4 operation */
    PIF4 = 0U;    /* clear INTP4 interrupt flag */
    PMK5 = 1U;    /* disable INTP5 operation */
    PIF5 = 0U;    /* clear INTP5 interrupt flag */
    PMK6 = 1U;    /* disable INTP6 operation */
    PIF6 = 0U;    /* clear INTP6 interrupt flag */
    PMK7 = 1U;    /* disable INTP7 operation */
    PIF7 = 0U;    /* clear INTP7 interrupt flag */
    PMK8 = 1U;    /* disable INTP8 operation */
    PIF8 = 0U;    /* clear INTP8 interrupt flag */
    PMK9 = 1U;    /* disable INTP9 operation */
    PIF9 = 0U;    /* clear INTP9 interrupt flag */
    PMK10 = 1U;    /* disable INTP10 operation */
    PIF10 = 0U;    /* clear INTP10 interrupt flag */
    PMK11 = 1U;    /* disable INTP11 operation */
    PIF11 = 0U;    /* clear INTP11 interrupt flag */
    /* Set INTP9 low priority */
    PPR19 = 1U;
    PPR09 = 1U;
    EGN1 = _02_INTP9_EDGE_FALLING_SEL;
    EGP1 = _02_INTP9_EDGE_RISING_SEL;      
    /* Set INTP9 pin */
    PM7 |= 0x20U;
}
  • Agregar código, compilar y debug:

1.- Bajar el código de:
--> Practica #6

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


VÍDEO:








No hay comentarios.:

Publicar un comentario