TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: ro en 15 de Abril de 2008, 13:43:35

Título: No puedo habilitar las interrupciones
Publicado por: ro en 15 de Abril de 2008, 13:43:35
Hola mi problema es el siguiente, la parte del código importante es:


#include <p30f4013.h>
#include <uart.h>
#include <timer.h>


_FOSC(CSW_FSCM_OFF &  XT_PLL4);
_FGS(CODE_PROT_OFF);
_FWDT( WDT_OFF);
_FBORPOR(PBOR_OFF & MCLR_DIS & PWRT_OFF) ;



void CONFIG_interrups(void) {

   /*********************************************************************************
   * Habilito interrupciones de recepción y transmisión
   * en ambas UARTS y la del timer1.
   * Prioridad máxima para todas. Orden que sigue:
   * T1, U1RX, U1TX, U2RX, U2TX
   *********************************************************************************/
   
   INTCON1bits.NSTDIS=1; //habilito el anidamiento de interrupciones
   
   ConfigIntTimer1(T1_INT_PRIOR_7 & T1_INT_ON);

   ConfigIntUART1(UART_RX_INT_EN & UART_RX_INT_PR6 & UART_TX_INT_EN & UART_TX_INT_PR6);
        ConfigIntUART2(UART_RX_INT_EN & UART_RX_INT_PR6 & UART_TX_INT_EN & UART_TX_INT_PR6);


}


int main (void) {

   CONFIG_interrups();
   T1CONbits.TON = 1;

   while(1){

   } return 1;
   
}



Pero la última instrucción que pongo en CONFIG_interrups() siempre me deshabilita las interrupciones de ese periférico, da igual cual sea, sin embargo la prioridad la pone bien (esto lo estoy viendo porque, tras comprobar que nunca interrumpe estoy ejecutando mi programa paso a paso)

¿alquien sabe a que se debe este error?

Muchas gracias
Título: Re: No puedo habilitar las interrupciones
Publicado por: manex_1987 en 15 de Abril de 2008, 14:46:33
Has probado a habilitar las interrupciones bit a bit, como has hecho con NSTDIS?