Hola necesito A Y U D A
Estoy utilizando PIC18f452 y el MPLAB con el C18.
Se supone que voy a usar varias interrupciones, tanto externas como de timer, el problema es que no se como incluirlas todas y como asociar una rutina a una interrupcion en particular.
El único ejemplo que he encontrado para el C18 es:
/////////////////////////////////////////////////////////////////////
void timer_isr( void );
#pragma code low_vector = 0x18
void low_vector( void )
{ _asm GOTO timer_isr _ensasm
}
#pragma code
#pragma interruptlow timer_isr
void timer_isr( void )
{ ........
}
/////////////////////////////////////////////////////////////
-Para crear varias interrupciones de baja prioridad debo crear varios low_vector?
Si es asi, la direccion 0x18 debo cambiarla para cada nueva interrupccion?
-No veo en donde esta asociada a un timer especifico, en el main del ejemplo utilizan el timer0, pero si tambien utilizo los demas timers tambien se me activaria esta rutina de interrupcion?
- En mi caso creo que tengo los 3 INTCON bien, pero aqui estan por si a caso
RCONbits.IPEN = 1; //no se si ponerlo en 0
INTCON = 0b11111000;
INTCON2 = 0b01110000;
INTCON3 = 0b11011000;
Gracias.
Estoy utilizando PIC18f452 y el MPLAB con el C18.
Se supone que voy a usar varias interrupciones, tanto externas como de timer, el problema es que no se como incluirlas todas y como asociar una rutina a una interrupcion en particular.
El único ejemplo que he encontrado para el C18 es:
/////////////////////////////////////////////////////////////////////
void timer_isr( void );
#pragma code low_vector = 0x18
void low_vector( void )
{ _asm GOTO timer_isr _ensasm
}
#pragma code
#pragma interruptlow timer_isr
void timer_isr( void )
{ ........
}
/////////////////////////////////////////////////////////////
-Para crear varias interrupciones de baja prioridad debo crear varios low_vector?
Si es asi, la direccion 0x18 debo cambiarla para cada nueva interrupccion?
-No veo en donde esta asociada a un timer especifico, en el main del ejemplo utilizan el timer0, pero si tambien utilizo los demas timers tambien se me activaria esta rutina de interrupcion?
- En mi caso creo que tengo los 3 INTCON bien, pero aqui estan por si a caso
RCONbits.IPEN = 1; //no se si ponerlo en 0
INTCON = 0b11111000;
INTCON2 = 0b01110000;
INTCON3 = 0b11011000;
Gracias.