Autor Tema: No consigo que la usart provoque interrupción  (Leído 2584 veces)

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

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
Re: No consigo que la usart provoque interrupción
« Respuesta #15 en: 18 de Enero de 2008, 18:56:21 »
Con lo que ha sugerido Manolo ya se consigue que entre en la interrupción,aunque parece que interfiere con el usb y la enumeración falla.
Maunix,he comprobado esos bits y no parece que ninguno se active.
He suprimido todo lo relacionado al usb y esto sigue haciendo cosas que no me explico.

¿os podeis creer que así el led se enciende...

Código: C++
  1. int8 dato;
  2. boolean usart = FALSE;
  3.  
  4.  
  5. #INT_RDA
  6. void serial_isr()
  7. {
  8.   output_high(PIN_B5);
  9.   usart = true;
  10.   if(kbhit())
  11.     {
  12.     dato = getc();
  13.     }
  14. }
  15.  
  16.  
  17. void main(void)
  18. {
  19.  
  20.    set_tris_c(0x80);
  21.    output_low(PIN_B5);
  22.    enable_interrupts(INT_RDA);
  23.    SPEN=1;           // USART activada
  24.    CREN=1;           // Recepción activada
  25.    enable_interrupts(GLOBAL);
  26.  
  27.    while(TRUE)
  28.       {
  29.          if(usart == true)
  30.            {
  31.            //output_high(PIN_B5);
  32.            }
  33.       }
  34.  
  35. }

...y asi no?

Código: C++
  1. int8 dato;
  2. boolean usart = FALSE;
  3.  
  4.  
  5. #INT_RDA
  6. void serial_isr()
  7. {
  8.   //output_high(PIN_B5);
  9.   usart = true;
  10.   if(kbhit())
  11.     {
  12.     dato = getc();
  13.     }
  14. }
  15.  
  16.  
  17. void main(void)
  18. {
  19.  
  20.    set_tris_c(0x80);
  21.    output_low(PIN_B5);
  22.    enable_interrupts(INT_RDA);
  23.    SPEN=1;           // USART activada
  24.    CREN=1;           // Recepción activada
  25.    enable_interrupts(GLOBAL);
  26.  
  27.    while(TRUE)
  28.       {
  29.          if(usart == true)
  30.            {
  31.            output_high(PIN_B5);
  32.            }
  33.       }
  34.  
  35. }


 :?