Está en la página 1de 74

Interrupciones

Caractersticas 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 depuracin Cada Fuente de Interrupcin posee una prioridad por defecto

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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

Sub-Rut Interrupcin

Intruccin_01 Intruccin_02 Intruccin_03 Intruccin_04 Intruccin_05 Intruccin_06 Intruccin_07 Intruccin_n

Inst_Ret

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

Interrupciones
Fuentes de Interrupcin de dsPIC33

5 Fuentes de Interrupcin Externa 8 Fuentes de Interrupcin por Modulo Captura 8 Fuentes de Interrupcin por Modulo Comparacin 9 Fuentes de Interrupcin por los Timers 1-9 8 Fuentes de Interrupcin por Modulo DMA 4 Fuentes de Interrupcin por Modulo SPI 1 y 2 4 Fuentes de Interrupcin por Modulo I2C 1 y 2 6 Fuentes de Interrupcin por Modulo UART 1 y 2

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

Interrupciones
Fuentes de Interrupcin de dsPIC33

1 Fuentes de Interrupcin por el Modulo ADC1 3 Fuentes de Interrupcin por Modulo ECAN1 2 Fuentes de Interrupcin por Modulo DCI 1 Fuentes por cambio de estado

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

Interrupciones
Vector de Interrupcin:

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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. IFS0 hasta IFS4: Registro de Estado de las Interrupciones. IPC0 hasta IPC17: Registro de Control de prioridades de las Interrupciones

UNEXPO Pto. Ordaz.

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.

Prof. Antonio Pateti

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. 1 Deshabilita interrupciones anidadas 0 Habilita interrupciones anidadas Bit 14 OVAERR: Bit que sealiza interrupcin por Overflow en el acumulador A. 1 A ocurrido una Interrupcin por Overflow en A 0 No a ocurrido una Interrupcin por Overflow en A Bit 13 OVBERR: Bit que sealiza interrupcin por Overflow en el acumulador B. 1 A ocurrido una Interrupcin por Overflow en B 0 No a ocurrido una Interrupcin por Overflow en B
UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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 sealiza interrupcin por Overflow catastrfico en el acumulador A. 1 Sealiza Interrupcin por Overflow Catastrfico en A 0 No a ocurrido una Interrupcin por Overflow en A Bit 11 COVBERR: Bit que sealiza interrupcin por Overflow catastrfico en el acumulador B. 1 Sealiza Interrupcin por Overflow Catastrfico en B 0 No a ocurrido una Interrupcin por Overflow en B

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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 excepcin de sobrepasamiento del Acumulador A. 1 Habilita interrupcin 0 deshabilita interrupcin Bit 9 OVBTE: Bit que habilita la excepcin de sobrepasamiento del Acumulador B. COVTE: Bit que habilita la excepcin de sobrepasamiento catastrfica del Acumulador A o B.

Bit 8

UNEXPO Pto. Ordaz.

Prof. 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 sealiza error de desplazamiento en el Acumulador. DIV0ERR: Bit que sealiza error por operacin matemtica (Se Divide entre 0) DMACERR: Bit que sealiza error acceso DMA MATHERR: Bit que sealiza error aritmtico (Por Overflow) ADDRERR: Bit que sealiza error por direccionamiento.

UNEXPO Pto. Ordaz.

Prof. 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 2 Bit 1

STKERR: Bit que sealiza error de Pila (Stack) OSCFAIL: Bit que sealiza error falla en el Oscilador

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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. Ordaz.

Prof. Antonio Pateti

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 Interrupcin Alternativa (AIVT). 1 Habilita AIVT 0 Deshabilita AIVT Bit 14 DISI: Bit de estado de la instruccin DISI.

UNEXPO Pto. Ordaz.

Prof. 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. 1 Interrupcin activa por flanco de Bajada 0 Interrupcin activa por flanco de Subida INT3EP: Bit que selecciona polaridad de INTCON3. INT2EP: Bit que selecciona polaridad de INTCON2. INT1EP: Bit que selecciona polaridad de INTCON1. INT0EP: Bit que selecciona polaridad de INTCON0.

Bit 3 Bit 2 Bit 1 Bit 0

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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. Ordaz.

Prof. Antonio Pateti

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 interrupcin por transferencia completa en el canal DMA1. 1 Interrupcin Habilitada 0 Interrupcin Deshabilitada Bit 13 AD1IE: Bit que habilita interrupcin por fin de conversin del ADC1 Bit 12 U1TXIE: Bit que habilita interrupcin por Tx en el UART1. Bit 11 U1RXIE: Bit que habilita interrupcin por Rx en el UART1.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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 interrupcin eventos en SPI1 Bit 9 Bit 8 SPI1EIE: Bit que habilita interrupcin por error en SPI1 T3IE: Bit que habilita interrupcin del Timer 3

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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 interrupcin por Timer 2 OC2IE: Bit que habilita interrupcin por OC2 IC2IE: Bit que habilita interrupcin por IC2 DMA0IE: Bit que habilita interrupcin por DMA0 T1IE: Bit que habilita interrupcin por Timer 1 OC1IE: Bit que habilita interrupcin por OC1 IC1IE: Bit que habilita interrupcin por IC1 INT0IE: Bit que habilita interrupcin por INT0
UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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 interrupcin por Tx en el UART2 Bit 14 U2RXIE: Bit que habilita interrupcin por Rx en el UART2 Bit 13 INT2IE: Bit que habilita interrupcin por INT2 Bit 12 T5IE: Bit que habilita interrupcin por Timer 5 Bit 11 T4IE: Bit que habilita interrupcin por Timer 4 Bit 10 OC4IE: Bit que habilita interrupcin por OC4 Bit 9 Bit 8 OC3IE: Bit que habilita interrupcin por OC3 DMA2IE: Bit que habilita interrupcin por DMA2
UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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 interrupcin por IC8 IC7IE: Bit que habilita interrupcin por IC7 AD2IE: Bit que habilita interrupcin por ADC2 INT1IE: Bit que habilita interrupcin por INT1 CNIE: Bit que habilita interrupcin por Cambio de Entrada MI2C1IE: Bit que habilita interrupcin por Maestro I2C1 SI2C1IE: Bit que habilita interrupcin por Esclavo I2C1
Prof. 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 interrupcin por Timer 6 Bit 14 DMA4IE: Bit que habilita interrupcin por DMA4 Bit 12 OC8IE: Bit que habilita interrupcin por OC8 Bit 11 OC7IE: Bit que habilita interrupcin por OC7 Bit 10 OC6IE: Bit que habilita interrupcin por OC6 Bit 9 Bit 8 OC5IE: Bit que habilita interrupcin por OC5 IC6IE: Bit que habilita interrupcin por IC6
Prof. Antonio Pateti

UNEXPO Pto. Ordaz.

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 interrupcin por IC5 IC4IE: Bit que habilita interrupcin por IC4 IC3IE: Bit que habilita interrupcin por IC3 DMA3IE: Bit que habilita interrupcin por DMA3 C1IE: Bit que habilita interrupcin por evento en ECAN1 C1RXIE: Bit que habilita interrupcin por Rx en ECAN1 SPI2IE: Bit que habilita interrupcin por evento en SPI2 SPI2EIE: Bit que habilita interrupcin por error en SPI2
UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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 interrupcin por DMA5 Bit 12 DCIIE: Bit que habilita interrupcin por DCI Bit 11 DCIEIE: Bit que habilita interrupcin por error en DCI Bit 8 C2IE: Bit que habilita interrupcin 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 interrupcin por Rx en ECAN2 INT4IE: Bit que habilita interrupcin por INT4 INT3IE: Bit que habilita interrupcin por INT3 T9IE: Bit que habilita interrupcin por Timer 9 T8IE: Bit que habilita interrupcin por Timer 8 MI2C2IE: Bit que habilita interrupcin por Maestro I2C2 SI2C2IE: Bit que habilita interrupcin por Esclavo I2C2 T7IE: Bit que habilita interrupcin por Timer 7
UNEXPO Pto. 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 interrupcin por Tx en ECAN2 C1TXIE: Bit que habilita interrupcin por Tx en ECAN1 DMA7IE: Bit que habilita interrupcin por DMA7 DMA6IE: Bit que habilita interrupcin por DMA6 U2EIE: Bit que habilita interrupcin por Error en UART2 U1EIE: Bit que habilita interrupcin por Error en UART1

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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 sealiza interrupcin por transferencia completa en el canal DMA1. 1 A ocurrido un Requerimiento de Interrupcin 0 No a ocurrido un Requerimiento de Interrupcin Bit 13 AD1IF: Bit que sealiza interrupcin por fin de conversin del ADC1 Bit 12 U1TXIF: Bit que sealiza interrupcin por Tx en el UART1. Bit 11 U1RXIF: Bit que sealiza interrupcin por Rx en el UART1.

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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 sealiza interrupcin eventos en SPI1 Bit 9 Bit 8 SPI1EIF: Bit que sealiza interrupcin por error en SPI1 T3IF: Bit que sealiza interrupcin del Timer 3

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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 sealiza interrupcin por Timer 2 OC2IF: Bit que sealiza interrupcin por OC2 IC2IF: Bit que sealiza interrupcin por IC2 DMA0IF: Bit que sealiza interrupcin por DMA0 T1IF: Bit que sealiza interrupcin por Timer 1 OC1IF: Bit que sealiza interrupcin por OC1 IC1IF: Bit que sealiza interrupcin por IC1 INT0IF: Bit que sealiza interrupcin por INT0
UNEXPO Pto. Ordaz.

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 sealiza interrupcin por Tx en el UART2 Bit 14 U2RXIF: Bit que sealiza interrupcin por Rx en el UART2 Bit 13 INT2IF: Bit que sealiza interrupcin por INT2 Bit 12 T5IF: Bit que sealiza interrupcin por Timer 5 Bit 11 T4IF: Bit que sealiza interrupcin por Timer 4 Bit 10 OC4IF: Bit que sealiza interrupcin por OC4 Bit 9 Bit 8 OC3IF: Bit que sealiza interrupcin por OC3 DMA2IF: Bit que sealiza interrupcin por DMA2
UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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 sealiza interrupcin por IC8 IC7IF: Bit que sealiza interrupcin por IC7 AD2IF: Bit que sealiza interrupcin por ADC2 INT1IF: Bit que sealiza interrupcin por INT1 CNIF: Bit que sealiza interrupcin por Cambio de Entrada MI2C1IF: Bit que sealiza interrupcin por Maestro I2C1 SI2C1IF: Bit que sealiza interrupcin por Esclavo I2C1
Prof. Antonio Pateti

UNEXPO Pto. Ordaz.

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 sealiza interrupcin por Timer 6 Bit 14 DMA4IF: Bit que sealiza interrupcin por DMA4 Bit 12 OC8IF: Bit que sealiza interrupcin por OC8 Bit 11 OC7IF: Bit que sealiza interrupcin por OC7 Bit 10 OC6IF: Bit que sealiza interrupcin por OC6 Bit 9 Bit 8 OC5IF: Bit que sealiza interrupcin por OC5 IC6IF: Bit que sealiza interrupcin por IC6
Prof. Antonio Pateti

UNEXPO Pto. 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 sealiza interrupcin por IC5 IC4IF: Bit que sealiza interrupcin por IC4 IC3IF: Bit que sealiza interrupcin por IC3 DMA3IF: Bit que sealiza interrupcin por DMA3 C1IF: Bit que sealiza interrupcin por evento en ECAN1 C1RXIF: Bit que sealiza interrupcin por Rx en ECAN1 SPI2IF: Bit que sealiza interrupcin por evento en SPI2 SPI2EIF: Bit que sealiza interrupcin por error en SPI2
UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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 sealiza interrupcin por DMA5 Bit 12 DCIIF: Bit que sealiza interrupcin por DCI Bit 11 DCIEIF: Bit que sealiza interrupcin por error en DCI Bit 8 C2IF: Bit que sealiza interrupcin 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 sealiza interrupcin por Rx en ECAN2 INT4IF: Bit que sealiza interrupcin por INT4 INT3IF: Bit que sealiza interrupcin por INT3 T9IF: Bit que sealiza interrupcin por Timer 9 T8IF: Bit que sealiza interrupcin por Timer 8 MI2C2IF: Bit que sealiza interrupcin por Maestro I2C2 SI2C2IF: Bit que sealiza interrupcin por Esclavo I2C2 T7IF: Bit que sealiza interrupcin 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 sealiza interrupcin por Tx en ECAN2 C1TXIF: Bit que sealiza interrupcin por Tx en ECAN1 DMA7IF: Bit que sealiza interrupcin por DMA7 DMA6IF: Bit que sealiza interrupcin por DMA6 U2EIF: Bit que sealiza interrupcin por Error en UART2 U1EIF: Bit que sealiza interrupcin por Error en UART1

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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 Interrupcin Deshablitada
Prof. 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 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 Interrupcin Deshablitada
Prof. Antonio Pateti

UNEXPO Pto. Ordaz.

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.

Prof. 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. Ordaz.

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. Ordaz.

Prof. Antonio Pateti

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 mdulo SPI1

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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 mdulo SPI1 T3IP<2:0>: Bits para asignar el nivel de prioridad del Timer 3

UNEXPO Pto. Ordaz.

Prof. 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. Antonio Pateti

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 conversin del ADC1 U1TXIP<2:0>: Bits para asignar el nivel de prioridad para la Tx del UART1

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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 notificacin de cambio CN

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

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. Ordaz.

Prof. Antonio Pateti

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. Ordaz.

Prof. Antonio Pateti

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 conversin en el ADC2 INT1IP<2:0>: Bits para asignar el nivel de prioridad de INT1

UNEXPO Pto. Ordaz.

Prof. 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. Antonio Pateti

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. Ordaz.

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. 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. Antonio Pateti

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. Ordaz.

Prof. Antonio Pateti

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. 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. Ordaz.

Prof. Antonio Pateti

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.

Prof. 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.

Prof. Antonio Pateti

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. Ordaz.

Prof. Antonio Pateti

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. Ordaz.

Prof. Antonio Pateti

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. Ordaz.

Prof. Antonio Pateti

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.

Prof. Antonio Pateti

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. Ordaz.

Prof. Antonio Pateti

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. Ordaz.

Prof. Antonio Pateti

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. Ordaz.

Prof. Antonio Pateti

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. Ordaz.

Prof. 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. Ordaz.

Prof. 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. 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.

Prof. Antonio Pateti

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. Ordaz.

Prof. Antonio Pateti

Programacin 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 Interrupcin ISR0 } void __attribute__((__interrupt__(__save__(Dat)))) ISR1(void) { Rutina Interrupcin ISR1 } main() { variables locales; bloque de sentencias; llamadas a las funciones; }

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

Programacin en C
Interrupciones externas en el Starter Kit

UNEXPO Pto. Ordaz.

Prof. Antonio Pateti

También podría gustarte