Interrupciones

Características de las Interrupciones del dsPIC33FJ256GP506:

• Tabla de 118 Vectores de Interrupciones (IVT) • 7 Niveles de Prioridades Programables por el usuario • 8 Vectores dedicado para excepciones por Hardware o Software • Posee una Tabla Alternativa para las Interrupciones (AIVT) para depuración • Cada Fuente de Interrupción posee una prioridad por defecto

UNEXPO – Pto. Ordaz.

Prof. Antonio Pateti

Interrupciones
Como se atiende una Interrupción
Programa Principal
Dir_01 Dir_02 Dir_03 Dir_04 Dir_05 Dir_06 Dir_07 Dir_08 Dir_09

Sub-Rut Interrupción

Intrucción_01 Intrucción_02 Intrucción_03 Intrucción_04 Intrucción_05 Intrucción_06 Intrucción_07 ● ● ● Intrucción_n

Inst_Ret

UNEXPO – Pto. Ordaz.

Prof. Antonio Pateti

Interrupciones
Fuentes de Interrupción de dsPIC33

• 5 Fuentes de Interrupción Externa • 8 Fuentes de Interrupción por Modulo Captura • 8 Fuentes de Interrupción por Modulo Comparación • 9 Fuentes de Interrupción por los Timers 1-9 • 8 Fuentes de Interrupción por Modulo DMA • 4 Fuentes de Interrupción por Modulo SPI 1 y 2 • 4 Fuentes de Interrupción por Modulo I2C 1 y 2 • 6 Fuentes de Interrupción por Modulo UART 1 y 2

UNEXPO – Pto. Ordaz.

Prof. Antonio Pateti

Antonio Pateti . Ordaz.Interrupciones Fuentes de Interrupción de dsPIC33 • 1 Fuentes de Interrupción por el Modulo ADC1 • 3 Fuentes de Interrupción por Modulo ECAN1 • 2 Fuentes de Interrupción por Modulo DCI • 1 Fuentes por cambio de estado UNEXPO – Pto. Prof.

Prof.Interrupciones Vector de Interrupción: UNEXPO – Pto. Ordaz. Antonio Pateti .

Ordaz.Interrupciones Registros utilizados para las Interrupciones: • INTCON1: Registro de Control de Interrupciones 1 • INTCON2: Registro de Control de Interrupciones 2 • SR y CORCON: Prioridad del CPU • IEC0 hasta IEC4: Registro de control para Habilitar las Int. Antonio Pateti . • IFS0 hasta IFS4: Registro de Estado de las Interrupciones. Prof. • IPC0 hasta IPC17: Registro de Control de prioridades de las Interrupciones UNEXPO – Pto.

Prof. Antonio Pateti .Interrupciones INTCON1 R/W-0 NSTDIS bit 15 R/W-0 OVAERR R/W-0 R/W-0 R/W-0 OVBERR COVAERR COVBERR R/W-0 OVATE R/W-0 OVBTE R/W-0 COVTE bit 8 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 SFTACERR DIV0ERR DMACERR MATHERR ADDRERR bit 7 R/W-0 STKERR R/W-0 OSCFAIL U-0 — bit 0 UNEXPO – Pto. Ordaz.

1 Deshabilita interrupciones anidadas 0 Habilita interrupciones anidadas Bit 14 OVAERR: Bit que señaliza interrupción por Overflow en el acumulador A. Antonio Pateti . Ordaz. 1 A ocurrido una Interrupción por Overflow en B 0 No a ocurrido una Interrupción por Overflow en B UNEXPO – Pto. 1 A ocurrido una Interrupción por Overflow en A 0 No a ocurrido una Interrupción por Overflow en A Bit 13 OVBERR: Bit que señaliza interrupción por Overflow en el acumulador B.Interrupciones INTCON1 (Parte Alta) R/W-0 NSTDIS bit 15 R/W-0 OVAERR R/W-0 R/W-0 R/W-0 OVBERR COVAERR COVBERR R/W-0 OVATE R/W-0 OVBTE R/W-0 COVTE bit 8 Bit 15 NSTDIS: Bit que habilita interrupciones anidadas. Prof.

Antonio Pateti . 1 Señaliza Interrupción por Overflow Catastrófico en B 0 No a ocurrido una Interrupción por Overflow en B UNEXPO – Pto. Prof. Ordaz. 1 Señaliza Interrupción por Overflow Catastrófico en A 0 No a ocurrido una Interrupción por Overflow en A Bit 11 COVBERR: Bit que señaliza interrupción por Overflow catastrófico en el acumulador B.Interrupciones INTCON1 (Parte Alta) R/W-0 NSTDIS bit 15 R/W-0 OVAERR R/W-0 R/W-0 R/W-0 OVBERR COVAERR COVBERR R/W-0 OVATE R/W-0 OVBTE R/W-0 COVTE bit 8 Bit 12 COVAERR: Bit que señaliza interrupción por Overflow catastrófico en el acumulador A.

Interrupciones INTCON1 (Parte Alta) R/W-0 NSTDIS bit 15 R/W-0 OVAERR R/W-0 R/W-0 R/W-0 OVBERR COVAERR COVBERR R/W-0 OVATE R/W-0 OVBTE R/W-0 COVTE bit 8 Bit 10 OVATE: Bit que habilita la excepción de sobrepasamiento del Acumulador A. Prof. COVTE: Bit que habilita la excepción de sobrepasamiento catastrófica del Acumulador A o B. 1 Habilita interrupción 0 deshabilita interrupción Bit 9 OVBTE: Bit que habilita la excepción de sobrepasamiento del Acumulador B. Bit 8 UNEXPO – Pto. Ordaz. Antonio Pateti .

Interrupciones INTCON1 (Parte Baja) R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 SFTACERR DIV0ERR DMACERR MATHERR ADDRERR bit 7 R/W-0 STKERR R/W-0 OSCFAIL U-0 — bit 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 SFTACERR: Bit que señaliza error de desplazamiento en el Acumulador. Ordaz. Antonio Pateti . Prof. UNEXPO – Pto. DIV0ERR: Bit que señaliza error por operación matemática (Se Divide entre 0) DMACERR: Bit que señaliza error acceso DMA MATHERR: Bit que señaliza error aritmético (Por Overflow) ADDRERR: Bit que señaliza error por direccionamiento.

Prof.Interrupciones INTCON1 (Parte Baja) R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 SFTACERR DIV0ERR DMACERR MATHERR ADDRERR bit 7 R/W-0 STKERR R/W-0 OSCFAIL U-0 — bit 0 Bit 2 Bit 1 STKERR: Bit que señaliza error de Pila (Stack) OSCFAIL: Bit que señaliza error falla en el Oscilador UNEXPO – Pto. Ordaz. Antonio Pateti .

Ordaz. Antonio Pateti . Prof.Interrupciones INTCON2 R/W-0 ALTIVT bit 15 R-0 DISI U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — bit 8 U-0 — bit 7 U-0 — U-0 — R/W-0 INT4EP R/W-0 INT3EP R/W-0 INT2EP R/W-0 INT1EP R/W-0 INT0EP bit 0 UNEXPO – Pto.

UNEXPO – Pto. Ordaz. Prof.Interrupciones INTCON2 (Parte Alta) R/W-0 ALTIVT bit 15 R-0 DISI U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — bit 8 Bit 15 ALTIVT: Bit que habilita la Tabla de Vectores de Interrupción Alternativa (AIVT). 1 Habilita AIVT 0 Deshabilita AIVT Bit 14 DISI: Bit de estado de la instrucción DISI. Antonio Pateti .

INT1EP: Bit que selecciona polaridad de INTCON1. Bit 3 Bit 2 Bit 1 Bit 0 UNEXPO – Pto. Antonio Pateti .Interrupciones INTCON2 (Parte Baja) U-0 — bit 7 U-0 — U-0 — R/W-0 INT4EP R/W-0 INT3EP R/W-0 INT2EP R/W-0 INT1EP R/W-0 INT0EP bit 0 Bit 4 INT4EP: Bit que selecciona polaridad de INTCON4. Prof. 1 Interrupción activa por flanco de Bajada 0 Interrupción activa por flanco de Subida INT3EP: Bit que selecciona polaridad de INTCON3. INT0EP: Bit que selecciona polaridad de INTCON0. Ordaz. INT2EP: Bit que selecciona polaridad de INTCON2.

Antonio Pateti . Ordaz.Interrupciones IEC0 U-0 — bit 15 R/W-0 DMA1IE R/W-0 AD1IE R/W-0 U1TXIE R/W-0 U1RXIE R/W-0 SPI1IE R/W-0 SPI1EIE R/W-0 T3IE bit 8 R/W-0 T2IE bit 7 R/W-0 OC2IE R/W-0 IC2IE R/W-0 DMA0IE R/W-0 T1IE R/W-0 OC1IE R/W-0 IC1IE R/W-0 INT0IE bit 0 UNEXPO – Pto. Prof.

UNEXPO – Pto. Antonio Pateti . Prof. 1 Interrupción Habilitada 0 Interrupción Deshabilitada Bit 13 AD1IE: Bit que habilita interrupción por fin de conversión del ADC1 Bit 12 U1TXIE: Bit que habilita interrupción por Tx en el UART1. Ordaz.Interrupciones IEC0 (Parte Alta) U-0 — bit 15 R/W-0 DMA1IE R/W-0 AD1IE R/W-0 U1TXIE R/W-0 U1RXIE R/W-0 SPI1IE R/W-0 SPI1EIE R/W-0 T3IE bit 8 Bit 14 DMA1IE: Bit que habilita interrupción por transferencia completa en el canal DMA1. Bit 11 U1RXIE: Bit que habilita interrupción por Rx en el UART1.

Antonio Pateti . Prof. Ordaz.Interrupciones IEC0 (Parte Alta) U-0 — bit 15 R/W-0 DMA1IE R/W-0 AD1IE R/W-0 U1TXIE R/W-0 U1RXIE R/W-0 SPI1IE R/W-0 SPI1EIE R/W-0 T3IE bit 8 Bit 10 SPI1IE: Bit que habilita interrupción eventos en SPI1 Bit 9 Bit 8 SPI1EIE: Bit que habilita interrupción por error en SPI1 T3IE: Bit que habilita interrupción del Timer 3 UNEXPO – Pto.

Interrupciones IEC0 (Parte Baja) R/W-0 T2IE bit 7 R/W-0 OC2IE R/W-0 IC2IE R/W-0 DMA0IE R/W-0 T1IE R/W-0 OC1IE R/W-0 IC1IE R/W-0 INT0IE bit 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 T2IE: Bit que habilita interrupción por Timer 2 OC2IE: Bit que habilita interrupción por OC2 IC2IE: Bit que habilita interrupción por IC2 DMA0IE: Bit que habilita interrupción por DMA0 T1IE: Bit que habilita interrupción por Timer 1 OC1IE: Bit que habilita interrupción por OC1 IC1IE: Bit que habilita interrupción por IC1 INT0IE: Bit que habilita interrupción por INT0 UNEXPO – Pto. Ordaz. Prof. Antonio Pateti .

Prof. Ordaz.Interrupciones IEC1 (Parte Alta) R/W-0 U2TXIE bit 15 R/W-0 U2RXIE R/W-0 INT2IE R/W-0 T5IE R/W-0 T4IE R/W-0 OC4IE R/W-0 OC3IE R/W-0 DMA2IE bit 8 Bit 15 U2TXIE: Bit que habilita interrupción por Tx en el UART2 Bit 14 U2RXIE: Bit que habilita interrupción por Rx en el UART2 Bit 13 INT2IE: Bit que habilita interrupción por INT2 Bit 12 T5IE: Bit que habilita interrupción por Timer 5 Bit 11 T4IE: Bit que habilita interrupción por Timer 4 Bit 10 OC4IE: Bit que habilita interrupción por OC4 Bit 9 Bit 8 OC3IE: Bit que habilita interrupción por OC3 DMA2IE: Bit que habilita interrupción por DMA2 UNEXPO – Pto. Antonio Pateti .

Antonio Pateti UNEXPO – Pto.Interrupciones IEC1 (Parte Baja) R/W-0 IC8IE bit 7 R/W-0 IC7IE R/W-0 AD2IE R/W-0 INT1IE R/W-0 CNIE R/W-0 — R/W-0 MI2C1IE R/W-0 SI2C1IE bit 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 1 Bit 0 IC8IE: Bit que habilita interrupción por IC8 IC7IE: Bit que habilita interrupción por IC7 AD2IE: Bit que habilita interrupción por ADC2 INT1IE: Bit que habilita interrupción por INT1 CNIE: Bit que habilita interrupción por Cambio de Entrada MI2C1IE: Bit que habilita interrupción por Maestro I2C1 SI2C1IE: Bit que habilita interrupción por Esclavo I2C1 Prof. . Ordaz.

Antonio Pateti UNEXPO – Pto. Ordaz.Interrupciones IEC2 (Parte Alta) R/W-0 T6IE bit 15 R/W-0 DMA4IE U-0 — R/W-0 OC8IE R/W-0 OC7IE R/W-0 OC6IE R/W-0 OC5IE R/W-0 IC6IE bit 8 Bit 15 T6IE: Bit que habilita interrupción por Timer 6 Bit 14 DMA4IE: Bit que habilita interrupción por DMA4 Bit 12 OC8IE: Bit que habilita interrupción por OC8 Bit 11 OC7IE: Bit que habilita interrupción por OC7 Bit 10 OC6IE: Bit que habilita interrupción por OC6 Bit 9 Bit 8 OC5IE: Bit que habilita interrupción por OC5 IC6IE: Bit que habilita interrupción por IC6 Prof. .

Prof. Ordaz. Antonio Pateti .Interrupciones IEC2 (Parte Baja) R/W-0 IC5IE bit 7 R/W-0 IC4IE R/W-0 IC3IE R/W-0 DMA3IE R/W-0 C1IE R/W-0 C1RXIE R/W-0 SPI2IE R/W-0 SPI2EIE bit 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 IC5IE: Bit que habilita interrupción por IC5 IC4IE: Bit que habilita interrupción por IC4 IC3IE: Bit que habilita interrupción por IC3 DMA3IE: Bit que habilita interrupción por DMA3 C1IE: Bit que habilita interrupción por evento en ECAN1 C1RXIE: Bit que habilita interrupción por Rx en ECAN1 SPI2IE: Bit que habilita interrupción por evento en SPI2 SPI2EIE: Bit que habilita interrupción por error en SPI2 UNEXPO – Pto.

Interrupciones IEC3 (Parte Alta) U-0 — bit 15 U-0 — R/W-0 DMA5IE R/W-0 DCIIE R/W-0 DCIEIE U-0 — U-0 — R/W-0 C2IE bit 8 Bit 13 DMA5IE: Bit que habilita interrupción por DMA5 Bit 12 DCIIE: Bit que habilita interrupción por DCI Bit 11 DCIEIE: Bit que habilita interrupción por error en DCI Bit 8 C2IE: Bit que habilita interrupción por eventos en ECAN2 UNEXPO – Pto. Ordaz. Prof. Antonio Pateti .

Interrupciones IEC3 (Parte Baja) R/W-0 C2RXIE bit 7 R/W-0 INT4IE R/W-0 INT3IE R/W-0 T9IE R/W-0 T8IE R/W-0 MI2C2IE R/W-0 SI2C2IE R/W-0 T7IE bit 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 C2RXIE: Bit que habilita interrupción por Rx en ECAN2 INT4IE: Bit que habilita interrupción por INT4 INT3IE: Bit que habilita interrupción por INT3 T9IE: Bit que habilita interrupción por Timer 9 T8IE: Bit que habilita interrupción por Timer 8 MI2C2IE: Bit que habilita interrupción por Maestro I2C2 SI2C2IE: Bit que habilita interrupción por Esclavo I2C2 T7IE: Bit que habilita interrupción por Timer 7 UNEXPO – Pto. Antonio Pateti . Prof. Ordaz.

Prof. Antonio Pateti .Interrupciones IEC4 (Parte Baja) R/W-0 C2TXIE bit 7 R/W-0 C1TXIE R/W-0 DMA7IE R/W-0 DMA6IE U-0 — R/W-0 U2EIE R/W-0 U1EIE U-0 — bit 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 2 Bit 1 C2TXIE: Bit que habilita interrupción por Tx en ECAN2 C1TXIE: Bit que habilita interrupción por Tx en ECAN1 DMA7IE: Bit que habilita interrupción por DMA7 DMA6IE: Bit que habilita interrupción por DMA6 U2EIE: Bit que habilita interrupción por Error en UART2 U1EIE: Bit que habilita interrupción por Error en UART1 UNEXPO – Pto. Ordaz.

UNEXPO – Pto. Ordaz. 1 A ocurrido un Requerimiento de Interrupción 0 No a ocurrido un Requerimiento de Interrupción Bit 13 AD1IF: Bit que señaliza interrupción por fin de conversión del ADC1 Bit 12 U1TXIF: Bit que señaliza interrupción por Tx en el UART1. Antonio Pateti . Bit 11 U1RXIF: Bit que señaliza interrupción por Rx en el UART1.Interrupciones IFS0 (Parte Alta) U-0 — bit 15 R/W-0 DMA1IF R/W-0 AD1IF R/W-0 U1TXIF R/W-0 U1RXIF R/W-0 SPI1IF R/W-0 SPI1EIF R/W-0 T3IF bit 8 Bit 14 DMA1IF: Bit que señaliza interrupción por transferencia completa en el canal DMA1. Prof.

Ordaz.Interrupciones IFS0 (Parte Alta) U-0 — bit 15 R/W-0 DMA1IE R/W-0 AD1IE R/W-0 U1TXIE R/W-0 U1RXIE R/W-0 SPI1IE R/W-0 SPI1EIE R/W-0 T3IE bit 8 Bit 10 SPI1IF: Bit que señaliza interrupción eventos en SPI1 Bit 9 Bit 8 SPI1EIF: Bit que señaliza interrupción por error en SPI1 T3IF: Bit que señaliza interrupción del Timer 3 UNEXPO – Pto. Antonio Pateti . Prof.

Antonio Pateti . Ordaz.Interrupciones IFS0 (Parte Baja) R/W-0 T2IF bit 7 R/W-0 OC2IF R/W-0 IC2IF R/W-0 DMA0IF R/W-0 T1IF R/W-0 OC1IF R/W-0 IC1IF R/W-0 INT0IF bit 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 T2IF: Bit que señaliza interrupción por Timer 2 OC2IF: Bit que señaliza interrupción por OC2 IC2IF: Bit que señaliza interrupción por IC2 DMA0IF: Bit que señaliza interrupción por DMA0 T1IF: Bit que señaliza interrupción por Timer 1 OC1IF: Bit que señaliza interrupción por OC1 IC1IF: Bit que señaliza interrupción por IC1 INT0IF: Bit que señaliza interrupción por INT0 UNEXPO – Pto. Prof.

Antonio Pateti .Interrupciones IFS1 (Parte Alta) R/W-0 U2TXIF bit 15 R/W-0 U2RXIF R/W-0 INT2IF R/W-0 T5IF R/W-0 T4IF R/W-0 OC4IF R/W-0 OC3IF R/W-0 DMA2IF bit 8 Bit 15 U2TXIF: Bit que señaliza interrupción por Tx en el UART2 Bit 14 U2RXIF: Bit que señaliza interrupción por Rx en el UART2 Bit 13 INT2IF: Bit que señaliza interrupción por INT2 Bit 12 T5IF: Bit que señaliza interrupción por Timer 5 Bit 11 T4IF: Bit que señaliza interrupción por Timer 4 Bit 10 OC4IF: Bit que señaliza interrupción por OC4 Bit 9 Bit 8 OC3IF: Bit que señaliza interrupción por OC3 DMA2IF: Bit que señaliza interrupción por DMA2 UNEXPO – Pto. Prof. Ordaz.

Antonio Pateti UNEXPO – Pto. Ordaz. .Interrupciones IFS1 (Parte Baja) R/W-0 IC8IF bit 7 R/W-0 IC7IF R/W-0 AD2IF R/W-0 INT1IF R/W-0 CNIF R/W-0 — R/W-0 MI2C1IF R/W-0 SI2C1IF bit 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 1 Bit 0 IC8IF: Bit que señaliza interrupción por IC8 IC7IF: Bit que señaliza interrupción por IC7 AD2IF: Bit que señaliza interrupción por ADC2 INT1IF: Bit que señaliza interrupción por INT1 CNIF: Bit que señaliza interrupción por Cambio de Entrada MI2C1IF: Bit que señaliza interrupción por Maestro I2C1 SI2C1IF: Bit que señaliza interrupción por Esclavo I2C1 Prof.

Ordaz. . Antonio Pateti UNEXPO – Pto.Interrupciones IFS2 (Parte Alta) R/W-0 T6IF bit 15 R/W-0 DMA4IF U-0 — R/W-0 OC8IF R/W-0 OC7IF R/W-0 OC6IF R/W-0 OC5IF R/W-0 IC6IF bit 8 Bit 15 T6IF: Bit que señaliza interrupción por Timer 6 Bit 14 DMA4IF: Bit que señaliza interrupción por DMA4 Bit 12 OC8IF: Bit que señaliza interrupción por OC8 Bit 11 OC7IF: Bit que señaliza interrupción por OC7 Bit 10 OC6IF: Bit que señaliza interrupción por OC6 Bit 9 Bit 8 OC5IF: Bit que señaliza interrupción por OC5 IC6IF: Bit que señaliza interrupción por IC6 Prof.

Antonio Pateti . Ordaz.Interrupciones IFS2 (Parte Baja) R/W-0 IC5IF bit 7 R/W-0 IC4IF R/W-0 IC3IF R/W-0 DMA3IF R/W-0 C1IF R/W-0 C1RXIF R/W-0 SPI2IF R/W-0 SPI2EIF bit 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 IC5IF: Bit que señaliza interrupción por IC5 IC4IF: Bit que señaliza interrupción por IC4 IC3IF: Bit que señaliza interrupción por IC3 DMA3IF: Bit que señaliza interrupción por DMA3 C1IF: Bit que señaliza interrupción por evento en ECAN1 C1RXIF: Bit que señaliza interrupción por Rx en ECAN1 SPI2IF: Bit que señaliza interrupción por evento en SPI2 SPI2EIF: Bit que señaliza interrupción por error en SPI2 UNEXPO – Pto. Prof.

Interrupciones
IFS3 (Parte Alta)
U-0 — bit 15 U-0 — R/W-0 DMA5IF R/W-0 DCIIF R/W-0 DCIEIF U-0 — U-0 — R/W-0 C2IF bit 8

Bit 13 DMA5IF: Bit que señaliza interrupción por DMA5 Bit 12 DCIIF: Bit que señaliza interrupción por DCI Bit 11 DCIEIF: Bit que señaliza interrupción por error en DCI Bit 8 C2IF: Bit que señaliza interrupción por eventos en ECAN2

UNEXPO – Pto. Ordaz.

Prof. Antonio Pateti

Interrupciones
IFS3 (Parte Baja)
R/W-0 C2RXIF bit 7 R/W-0 INT4IF R/W-0 INT3IF R/W-0 T9IF R/W-0 T8IF R/W-0 MI2C2IF R/W-0 SI2C2IF R/W-0 T7IF bit 0

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

C2RXIF: Bit que señaliza interrupción por Rx en ECAN2 INT4IF: Bit que señaliza interrupción por INT4 INT3IF: Bit que señaliza interrupción por INT3 T9IF: Bit que señaliza interrupción por Timer 9 T8IF: Bit que señaliza interrupción por Timer 8 MI2C2IF: Bit que señaliza interrupción por Maestro I2C2 SI2C2IF: Bit que señaliza interrupción por Esclavo I2C2 T7IF: Bit que señaliza interrupción por Timer 7
UNEXPO – Pto. Ordaz.

Prof. Antonio Pateti

Interrupciones
IFS4 (Parte Baja)
R/W-0 C2TXIF bit 7 R/W-0 C1TXIF R/W-0 DMA7IF R/W-0 DMA6IF U-0 — R/W-0 U2EIF R/W-0 U1EIF U-0 — bit 0

Bit 7 Bit 6 Bit 5 Bit 4 Bit 2 Bit 1

C2TXIF: Bit que señaliza interrupción por Tx en ECAN2 C1TXIF: Bit que señaliza interrupción por Tx en ECAN1 DMA7IF: Bit que señaliza interrupción por DMA7 DMA6IF: Bit que señaliza interrupción por DMA6 U2EIF: Bit que señaliza interrupción por Error en UART2 U1EIF: Bit que señaliza interrupción por Error en UART1

UNEXPO – Pto. Ordaz.

Prof. Antonio Pateti

Antonio Pateti UNEXPO – Pto. Ordaz. .Interrupciones IPC0 (Parte Alta) U-0 — bit 15 R/W-1 R/W-0 T1IP<2:0> R/W-0 U-0 — R/W-1 R/W-0 OC1IP<2:0> R/W-0 bit 8 Bit 14-12 T1IP<2:0>: Bits para asignar el nivel de prioridad del Timer 1 111 Nivel de Prioridad 7 110 Nivel de Prioridad 6 101 Nivel de Prioridad 5 100 Nivel de Prioridad 4 011 Nivel de Prioridad 3 010 Nivel de Prioridad 2 001 Nivel de Prioridad 1 000 Interrupción Deshablitada Prof.

Antonio Pateti UNEXPO – Pto.Interrupciones IPC0 (Parte Alta) U-0 — bit 15 R/W-1 R/W-0 T1IP<2:0> R/W-0 U-0 — R/W-1 R/W-0 OC1IP<2:0> R/W-0 bit 8 Bit 10-8 OC1IP<2:0>: Bits para asignar el nivel de prioridad del OC1 111 Nivel de Prioridad 7 110 Nivel de Prioridad 6 101 Nivel de Prioridad 5 100 Nivel de Prioridad 4 011 Nivel de Prioridad 3 010 Nivel de Prioridad 2 001 Nivel de Prioridad 1 000 Interrupción Deshablitada Prof. Ordaz. .

Prof. Ordaz. Antonio Pateti .Interrupciones IPC0 (Parte Baja) U-0 — bit 7 R/W-1 R/W-0 IC1IP<2:0> R/W-0 U-0 — R/W-1 R/W-0 INT0IP<2:0> R/W-0 bit 0 Bit 6-4 Bit 2-2 IC1IP<2:0>: Bits para asignar el nivel de prioridad de IC1 INT0IP<2:0>: Bits para asignar el nivel de prioridad de INT0 UNEXPO – Pto.

Ordaz. Antonio Pateti .Interrupciones IPC1 (Parte Alta) U-0 — bit 15 R/W-1 R/W-0 R/W-0 T2IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 8 OC2IP<2:0> Bit 14-12 Bit 10-8 T2IP<2:0>: Bits para asignar el nivel de prioridad del Timer 2 OC2IP<2:0>: Bits para asignar el nivel de prioridad de OC2 UNEXPO – Pto. Prof.

Antonio Pateti .Interrupciones IPC1 (Parte Baja) U-0 — bit 7 R/W-1 R/W-0 R/W-0 IC2IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 0 DMA0IP<2:0> Bit 6-4 Bit 2-0 IC2P<2:0>: Bits para asignar el nivel de prioridad de IC2 DMA0IP<2:0>: Bits para asignar el nivel de prioridad de DMA0 UNEXPO – Pto. Prof. Ordaz.

Prof. Antonio Pateti . Ordaz.Interrupciones IPC2 (Parte Alta) U-0 — bit 15 R/W-1 R/W-0 R/W-0 U1RXIP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 8 SPI1IP<2:0> Bit 14-12 Bit 10-8 U1RXIP<2:0>: Bits para asignar el nivel de prioridad de la Rx del UART1 SPI1IP<2:0>: Bits para asignar el nivel de prioridad de eventos del módulo SPI1 UNEXPO – Pto.

Antonio Pateti . Prof. Ordaz.Interrupciones IPC2 (Parte Baja) U-0 — bit 7 R/W-1 R/W-0 R/W-0 SPI1EIP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 0 T3IP<2:0> Bit 6-4 Bit 2-0 SPI1EIP<2:0>: Bits para asignar el nivel de prioridad de error para el módulo SPI1 T3IP<2:0>: Bits para asignar el nivel de prioridad del Timer 3 UNEXPO – Pto.

Antonio Pateti .Interrupciones IPC3 (Parte Alta) U-0 — bit 15 U-0 — U-0 — U-0 — U-0 — R/W-1 R/W-0 DMA1IP<2:0> R/W-0 bit 8 Bit 10-8 DMA1IP<2:0>: Bits para asignar el nivel de prioridad del DMA1 UNEXPO – Pto. Ordaz. Prof.

Ordaz. Prof.Interrupciones IPC3 (Parte Baja) U-0 — bit 7 R/W-1 R/W-0 R/W-0 AD1IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 0 U1TXIP<2:0> Bit 6-4 Bit 2-0 AD1IP<2:0>: Bits para asignar el nivel de prioridad del fin de conversión del ADC1 U1TXIP<2:0>: Bits para asignar el nivel de prioridad para la Tx del UART1 UNEXPO – Pto. Antonio Pateti .

Antonio Pateti . Prof.Interrupciones IPC4 (Parte Alta) U-0 — bit 15 R/W-1 R/W-0 CNIP<2:0> R/W-0 U-0 — U-0 — U-0 — U-0 — bit 8 Bit 14-12 CNIP<2:0>: Bits para asignar el nivel de prioridad por notificación de cambio CN UNEXPO – Pto. Ordaz.

Ordaz.Interrupciones IPC4 (Parte Baja) U-0 — bit 7 R/W-1 R/W-0 R/W-0 MI2C1IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 0 SI2C1IP<2:0> Bit 6-4 Bit 2-0 MI2C1IP<2:0>: Bits para asignar el nivel de prioridad del maestro I2C1 SI2C1IP<2:0>: Bits para asignar el nivel de prioridad del esclavo I2C1 UNEXPO – Pto. Antonio Pateti . Prof.

Interrupciones IPC5 (Parte Alta) U-0 — bit 15 R/W-1 R/W-0 R/W-0 IC8IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 8 IC7IP<2:0> Bit 14-12 Bit 10-8 IC8IP<2:0>: Bits para asignar el nivel de prioridad de IC8 IC7IP<2:0>: Bits para asignar el nivel de prioridad de IC7 UNEXPO – Pto. Antonio Pateti . Ordaz. Prof.

Interrupciones IPC5 (Parte Baja) U-0 — bit 7 R/W-1 R/W-0 R/W-0 AD2IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 0 INT1IP<2:0> Bit 6-4 Bit 2-0 AD2IP<2:0>: Bits para asignar el nivel de prioridad por fin de conversión en el ADC2 INT1IP<2:0>: Bits para asignar el nivel de prioridad de INT1 UNEXPO – Pto. Prof. Antonio Pateti . Ordaz.

Antonio Pateti .Interrupciones IPC6 (Parte Alta) U-0 — bit 15 R/W-1 R/W-0 R/W-0 T4IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 8 OC4IP<2:0> Bit 14-12 Bit 10-8 T4IP<2:0>: Bits para asignar el nivel de prioridad del Timer 4 OC4IP<2:0>: Bits para asignar el nivel de prioridad de OC4 UNEXPO – Pto. Ordaz. Prof.

Ordaz.Interrupciones IPC6 (Parte Baja) U-0 — bit 7 R/W-1 R/W-0 R/W-0 OC3IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 0 DMA2IP<2:0> Bit 6-4 Bit 2-0 OC3IP<2:0>: Bits para asignar el nivel de prioridad de OC3 DMA2IP<2:0>: Bits para asignar el nivel de prioridad de DMA2 UNEXPO – Pto. Prof. Antonio Pateti .

Interrupciones IPC7 (Parte Alta) U-0 — bit 15 R/W-1 R/W-0 R/W-0 U2TXIP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 8 U2RXIP<2:0> Bit 14-12 Bit 10-8 U2TXIP<2:0>: Bits para asignar el nivel de prioridad para la Tx del UART2 U2RXIP<2:0>: Bits para asignar el nivel de prioridad para la Rx del UART2 UNEXPO – Pto. Antonio Pateti . Ordaz. Prof.

Antonio Pateti .Interrupciones IPC7 (Parte Baja) U-0 — bit 7 R/W-1 R/W-0 R/W-0 INT2IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 0 T5IP<2:0> Bit 6-4 Bit 2-0 INT2IP<2:0>: Bits para asignar el nivel de prioridad de INT2 T5IP<2:0>: Bits para asignar el nivel de prioridad del Timer 5 UNEXPO – Pto. Ordaz. Prof.

Prof.Interrupciones IPC8 (Parte Alta) U-0 — bit 15 R/W-1 R/W-0 R/W-0 C1IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 8 C1RXIP<2:0> Bit 14-12 Bit 10-8 C1IP<2:0>: Bits para asignar el nivel de prioridad por evento en el ECAN1 C1RXIP<2:0>: Bits para asignar el nivel de prioridad por Rx en el ECAN1 UNEXPO – Pto. Antonio Pateti . Ordaz.

Interrupciones IPC8 (Parte Baja) U-0 — bit 7 R/W-1 R/W-0 R/W-0 SPI2IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 0 SPI2EIP<2:0> Bit 6-4 Bit 2-0 SPI2IP<2:0>: Bits para asignar el nivel de prioridad por evento en el SPI2 SPI2EIP<2:0>: Bits para asignar el nivel de prioridad por Rx del SPI2 UNEXPO – Pto. Ordaz. Prof. Antonio Pateti .

Interrupciones IPC9 (Parte Alta) U-0 — bit 15 R/W-1 R/W-0 R/W-0 IC5IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 8 IC4IP<2:0> Bit 14-12 Bit 10-8 IC5IP<2:0>: Bits para asignar el nivel de prioridad de IC5 IC4IP<2:0>: Bits para asignar el nivel de prioridad de IC4 UNEXPO – Pto. Antonio Pateti . Ordaz. Prof.

Ordaz. Prof. Antonio Pateti .Interrupciones IPC9 (Parte Baja) U-0 — bit 7 R/W-1 R/W-0 R/W-0 IC3IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 0 DMA3IP<2:0> Bit 6-4 Bit 2-0 IC3IP<2:0>: Bits para asignar el nivel de prioridad de IC3 DMA3IP<2:0>: Bits para asignar el nivel de prioridad del DMA3 UNEXPO – Pto.

Prof.Interrupciones IPC10 (Parte Alta) U-0 — bit 15 R/W-1 R/W-0 R/W-0 OC7IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 8 OC6IP<2:0> Bit 14-12 Bit 10-8 OC7IP<2:0>: Bits para asignar el nivel de prioridad de OC7 OC6IP<2:0>: Bits para asignar el nivel de prioridad de OC6 UNEXPO – Pto. Ordaz. Antonio Pateti .

Prof. Ordaz. Antonio Pateti .Interrupciones IPC10 (Parte Baja) U-0 — bit 7 R/W-1 R/W-0 R/W-0 OC5IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 0 IC6IP<2:0> Bit 6-4 Bit 2-0 OC5IP<2:0>: Bits para asignar el nivel de prioridad de OC5 IC6IP<2:0>: Bits para asignar el nivel de prioridad de IC6 UNEXPO – Pto.

Ordaz. Prof. Antonio Pateti .Interrupciones IPC11 (Parte Alta) U-0 — bit 15 R/W-1 R/W-0 R/W-0 T6IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 8 DMA4IP<2:0> Bit 14-12 Bit 10-8 T6IP<2:0>: Bits para asignar el nivel de prioridad del Timer 6 DMA4IP<2:0>: Bits para asignar el nivel de prioridad del DMA4 UNEXPO – Pto.

Ordaz. Antonio Pateti . Prof.Interrupciones IPC11 (Parte Baja) U-0 — bit 7 U-0 — U-0 — U-0 — U-0 — R/W-1 R/W-0 R/W-0 bit 0 OC8IP<2:0> Bit 2-0 OC8IP<2:0>: Bits para asignar el nivel de prioridad de OC8 UNEXPO – Pto.

Prof. Antonio Pateti . Ordaz.Interrupciones IPC12 (Parte Alta) U-0 — bit 15 R/W-1 R/W-0 R/W-0 T8IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 8 MI2C2IP<2:0> Bit 14-12 Bit 10-8 T8IP<2:0>: Bits para asignar el nivel de prioridad del Timer 8 MI2C2IP<2:0>: Bits para asignar el nivel de prioridad del Maestro I2C2 UNEXPO – Pto.

Interrupciones IPC12 (Parte Baja) U-0 — bit 7 R/W-1 R/W-0 R/W-0 SI2C2IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 0 T7IP<2:0> Bit 6-4 Bit 2-0 SI2C2IP<2:0>: Bits para asignar el nivel de prioridad del esclavo I2C2 T7IP<2:0>: Bits para asignar el nivel de prioridad del Timer 7 UNEXPO – Pto. Prof. Ordaz. Antonio Pateti .

Prof.Interrupciones IPC13 (Parte Alta) U-0 — bit 15 R/W-1 R/W-0 R/W-0 C2RXIP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 8 INT4IP<2:0> Bit 14-12 Bit 10-8 C2RXIP<2:0>: Bits para asignar el nivel de prioridad por Rx de ECAN2 INT4IP<2:0>: Bits para asignar el nivel de prioridad de INT4 UNEXPO – Pto. Ordaz. Antonio Pateti .

Ordaz. Antonio Pateti . Prof.Interrupciones IPC13 (Parte Baja) U-0 — bit 7 R/W-1 R/W-0 R/W-0 INT3IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 0 T9IP<2:0> Bit 6-4 Bit 2-0 INT3IP<2:0>: Bits para asignar el nivel de prioridad de INT3 T9IP<2:0>: Bits para asignar el nivel de prioridad del Timer 9 UNEXPO – Pto.

Prof. Ordaz.Interrupciones IPC14 (Parte Alta) U-0 — bit 15 R/W-1 R/W-0 R/W-0 DCIEIP<2:0> U-0 — U-0 — U-0 — U-0 — bit 8 Bit 14-12 DCIEIP<2:0>: Bits para asignar el nivel de prioridad por error en DCI UNEXPO – Pto. Antonio Pateti .

Antonio Pateti . Ordaz. Prof.Interrupciones IPC14 (Parte Baja) U-0 — bit 7 U-0 — U-0 — U-0 — U-0 — R/W-1 R/W-0 R/W-0 bit 0 C2IP<2:0> Bit 2-0 C2IP<2:0>: Bits para asignar el nivel de prioridad por evento de ECAN2 UNEXPO – Pto.

Prof.Interrupciones IPC15 (Parte Baja) U-0 — bit 7 R/W-1 R/W-0 R/W-0 DMA5IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 0 DCIIP<2:0> Bit 6-4 Bit 2-0 DMA5IP<2:0>: Bits para asignar el nivel de prioridad por DMA5 DCIIP<2:0>: Bits para asignar el nivel de prioridad evento en DCI UNEXPO – Pto. Antonio Pateti . Ordaz.

Prof. Ordaz. Antonio Pateti .Interrupciones IPC16 (Parte Alta) U-0 — bit 15 U-0 — U-0 — U-0 — U-0 — R/W-1 R/W-0 R/W-0 bit 8 U2EIP<2:0> Bit 10-8 U2EIP<2:0>: Bits para asignar el nivel de prioridad por error en UART2 UNEXPO – Pto.

Antonio Pateti .Interrupciones IPC16 (Parte Baja) U-0 — bit 7 R/W-1 R/W-0 R/W-0 U1EIP<2:0> U-0 — U-0 — U-0 — U-0 — bit 0 Bit 6-4 U1EIP<2:0>: Bits para asignar el nivel de prioridad por error en el UART1 UNEXPO – Pto. Ordaz. Prof.

Prof. Antonio Pateti .Interrupciones IPC17 (Parte Baja) U-0 — bit 15 R/W-1 R/W-0 R/W-0 C2TXIP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 8 C1TXIP<2:0> Bit 6-4 Bit 2-0 C2TXIP<2:0>: Bits para asignar el nivel de prioridad por Tx de ECAN2 C1TXIP<2:0>: Bits para asignar el nivel de prioridad por Tx de ECAN1 UNEXPO – Pto. Ordaz.

Ordaz.Interrupciones IPC17 (Parte Alta) U-0 — bit 7 R/W-1 R/W-0 R/W-0 DMA7IP<2:0> U-0 — R/W-1 R/W-0 R/W-0 bit 0 DMA6IP<2:0> Bit 14-12 Bit 10-8 DMA7IP<2:0>: Bits para asignar el nivel de prioridad por DMA7 DMA6IP<2:0>: Bits para asignar el nivel de prioridad por DMA6 UNEXPO – Pto. Antonio Pateti . Prof.

Prof. Ordaz. } UNEXPO – Pto. bloque de sentencias.Programación en C Como atender interrupciones en MPLAB C30 #include “Archivos de Cabecera” Configura el dsPIC declaraciones de variables globales //prototipos de funciones de Interrupciones void __attribute__((__interrupt__)) ISR0(void) { Rutina Interrupción ISR0 } void __attribute__((__interrupt__(__save__(Dat)))) ISR1(void) { Rutina Interrupción ISR1 } main() { variables locales. Antonio Pateti . llamadas a las funciones.

Prof. Ordaz. Antonio Pateti .Programación en C Interrupciones externas en el Starter Kit UNEXPO – Pto.