Autor Tema: rutinas de atención a interrupción en c18 y c30  (Leído 3216 veces)

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

Desconectado black_flowers

  • PIC18
  • ****
  • Mensajes: 450
rutinas de atención a interrupción en c18 y c30
« en: 24 de Octubre de 2010, 17:27:23 »
hola, necesito saber cómo hago una rutina de atención a interrupción para el modulo spi, de un pic18f y de un dspic30f, es decir como se hacen las rutinas en c18 y en c30. En c18, no tengo ni idea y en c30 hasta ahora las he venido haciendo por intuición:

si para el cad es: void __attribute__((interrupt, no_auto_psv)) _ADCInterrupt(void)

entonces para el t1 es: void __attribute__((interrupt, no_auto_psv)) _INT1Interrupt( void )

y hasta ahora me han funcionado pero no entiendo como funcionan.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: rutinas de atención a interrupción en c18 y c30
« Respuesta #1 en: 24 de Octubre de 2010, 17:32:13 »
Hola, para C30 te recomiendo que leas el manual de usuario. Ahí vienen las librerías y casi siempre un ejemplo de la atención a la interrupción.

C:\Program Files (x86)\Microchip\MPLAB C30\docs\periph_lib\Microchip PIC24F Peripheral Library.chm

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: rutinas de atención a interrupción en c18 y c30
« Respuesta #2 en: 24 de Octubre de 2010, 17:39:12 »
Además usa el buscador, hay información sobre ello.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado black_flowers

  • PIC18
  • ****
  • Mensajes: 450
Re: rutinas de atención a interrupción en c18 y c30
« Respuesta #3 en: 24 de Octubre de 2010, 18:46:24 »
para el caso del c30 el manual de usuario es de bastante ayuda, por si alguien se cae por aquí, aclaro como funionan, y es tal y como puse arriba, es decir cada interrupcion tiene su manejador de interrupcion predefinido y todas ellas salen listadas en la página 103 del manual.
Para el caso del c18 sigo buscando.

Desconectado Tisco

  • PIC16
  • ***
  • Mensajes: 108
Re: rutinas de atención a interrupción en c18 y c30
« Respuesta #4 en: 24 de Octubre de 2010, 18:50:35 »
En el apartado 2.9.2 del manual de C18 tienes como se hace y ejemplos.
un saludo!

Desconectado black_flowers

  • PIC18
  • ****
  • Mensajes: 450
Re: rutinas de atención a interrupción en c18 y c30
« Respuesta #5 en: 24 de Octubre de 2010, 20:37:41 »
así estaría correcto? es que tiene un comportamiento un tanto anormal y no se si es por la rutina de interrupcion o por el resto del programa:

void InterruptHandlerHigh();

#pragma code InterruptVectorHigh = 0x08
void
InterruptVectorHigh (void)
{
  _asm
    goto InterruptHandlerHigh
  _endasm
}
#pragma code

#pragma interrupt InterruptHandlerHigh
void InterruptHandlerHigh()
{
    if (PIR1bits.SSPIF)
    {
   PIR1bits.SSPIF=0;
    }
}

Desconectado Tisco

  • PIC16
  • ***
  • Mensajes: 108
Re: rutinas de atención a interrupción en c18 y c30
« Respuesta #6 en: 28 de Octubre de 2010, 08:28:28 »
Buenas,
En principio yo no veo que el codigo este mal. ¿a que te refieres con un comportamiento un tanto anormal?
un saludo!

Desconectado black_flowers

  • PIC18
  • ****
  • Mensajes: 450
Re: rutinas de atención a interrupción en c18 y c30
« Respuesta #7 en: 28 de Octubre de 2010, 18:05:19 »
Buenas,
En principio yo no veo que el codigo este mal. ¿a que te refieres con un comportamiento un tanto anormal?
un saludo!

sí, la interrupción está bien, lo que hacía mal era por otro motivo.