- #1
fractal01
- 14
- 1
Hi everyone~
I think that I have used polling here where I shouldn't have done. Does anyone have any ideas?
I think that I have used polling here where I shouldn't have done. Does anyone have any ideas?
Code:
#include "p18f8722.h"
#include "timers.h"
void configure_PB2_interrupt (void);
void enable_global_interrupts(void);
unsigned char PB2_pressed (void);
void isr (void);
volatile unsigned char int_occured = 0;
#pragma code vector=0x08
void vector (void){
_asm
GOTO isr
_endasm
}
#pragma code
void main (void){
ADCON1 = 0x0F;
TRISB = 0xFF;
TRISF = 0x00;
configure_PB2_interrupt();
while (1){
while (!int_occured){
;
}
int_occured = 1;
if (PORTBbits.RB0 == 1){
LATF = 0x00;
}
}
}
void configure_PB2_interrupt (void){
INTCONbits.GIE = 1;
INTCONbits.INT0IE = 1;
INTCON2bits.INTEDG0 = 0;
}
#pragma interrupt isr
void isr(void){
INTCONbits.INT0IF = 0;
LATF = 0x01;
int_occured = 1;
}
Last edited by a moderator: