Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
When is it useful to use this interrupt? I,ve been having problems using this interrupt ang portb4-7 interrupt. Can I just use all portb4-7 interrupts instead?
#define X 1
#define Y 2
#define Z 3
#define W 4
unsigned short SWITCH = 0;
void Interrupt()
{
if(INTCON.INTF)
{
SWITCH = W ;
PORTA.F1 = 1;
INTCON.INTF = 0;
INTCON.RBIF = 0;
INTCON.RBIE = 0;
}
else if(INTCON.RBIF)
{
if(PORTB.F5 == 0)
{
SWITCH = X;
INTCON.RBIF = 0;
}
else if(PORTB.F6 == 0)
{
SWITCH = Y;
INTCON.RBIF = 0;
}
else if(PORTB.F7 == 0)
{
SWITCH = X;
INTCON.RBIF = 0;
}
}
}
void main()
{
init_all();
do {
switch(SWITCH)
{
case X:
INTCON.GIE = 0;
//do something here
INTCON = 0b10011000;
break;
case Y:
INTCON.GIE = 0;
//do something here
INTCON = 0b10011000;
break;
case Z:
INTCON.GIE = 0;
//do something here
INTCON = 0b10011000;
break;
case W:
INTCON.GIE = 0;
PORTA.F0 = 1;
INTCON = 0b10011000;
break;
}
} while(1);