Autor Tema: No puedo habilitar las interrupciones  (Leído 1274 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ro

  • PIC10
  • *
  • Mensajes: 13
No puedo habilitar las interrupciones
« 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

Desconectado manex_1987

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1127
Re: No puedo habilitar las interrupciones
« Respuesta #1 en: 15 de Abril de 2008, 14:46:33 »
Has probado a habilitar las interrupciones bit a bit, como has hecho con NSTDIS?