Buenaas!
He estado mirando esto de las interrupciones (la de RB0 en este caso) y no hay manera de que me funcione la interrupcion en proteus. El codigo es el siguiente
En realidad en la interrupcion deberia de mandar un mensage por puerto serie pero este codigo es para probar. El proteus no hace ni caso a la interrupcion. He probado codigos de internet para ver si hacia algo mal yo pero tampoco han funciona.
Otra preguntilla que tengo es que al acabar la funcion de la interrupcion vuelve al sleep no?
Gracias
He estado mirando esto de las interrupciones (la de RB0 en este caso) y no hay manera de que me funcione la interrupcion en proteus. El codigo es el siguiente
Código:
#include <16F873.h>
#device adc=8
#FUSES NOWDT //No Watch Dog Timer
#FUSES XT //Crystal osc <= 4mhz
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES BROWNOUT //Reset when brownout detected
#FUSES LVP //Low Voltage Programming on B3(PIC16) or B5(PIC18)
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected
#FUSES NODEBUG //No Debug mode for ICD
#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#use fast_io(b)
#byte PORTB=0x06
#byte PORTA=0x05
#int_ext
PortB_Interrupt()
{
output_low(PIN_B3);
delay_ms(30);
}
void main(void)
{
set_tris_b(0b00000001);
PORTB=0;
enable_interrupts(GLOBAL);
enable_interrupts(INT_EXT);
output_high(PIN_B3);
while(1)
sleep();
}
En realidad en la interrupcion deberia de mandar un mensage por puerto serie pero este codigo es para probar. El proteus no hace ni caso a la interrupcion. He probado codigos de internet para ver si hacia algo mal yo pero tampoco han funciona.
Otra preguntilla que tengo es que al acabar la funcion de la interrupcion vuelve al sleep no?
Gracias