Autor Tema: Interrupciones c18  (Leído 1824 veces)

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

Desconectado cucu

  • PIC12
  • **
  • Mensajes: 74
Interrupciones c18
« en: 16 de Febrero de 2009, 10:35:36 »
hola, estoy teniendo unos problemillas con las interrupciones. yo quiero que cuando me interrumpe la recepción por puerto serie transmita unos datos por puerto serie, pero hay algo que me interrumpe mientras lo hago y soy incapaz de verlo:

Código: [Seleccionar]

#pragma interruptlow HighISR
void HighISR (void)

      UserInterruptHandler();
}


/************************************/
/*        Interrupt Vectors                              */
/************************************/

#pragma code highVector=0x08
void HighVector (void)
{
    _asm goto HighISR _endasm
}
#pragma code /* return to default code section */

#pragma code lowhVector=0x18
void LowVector (void)
{
    _asm goto HighISR _endasm
}
#pragma code /* return to default code section */



Y luego en la rutina de atención a la interrupción pongo:

Código: [Seleccionar]

void UserInterruptHandler(void)
{
if(RCIF == 1){
    GIEH = 0;
if(enviando == 0){
envioDatos(enviar);
enviando = 1;
} else {
enviando = 0;
}
GIEH = 1;
}

}


A mitad de enviar los datos se va de aquí, es como si le interrumpieran pero, si estan deshabilitadas, no podría.

Gracias. Saludos



 

anything