heckler,
have a look at this:-
' Target PIC : 12F, 16F, 18F
' Hardware : Non specific
' Oscillator : internal or external
' Keywords : ON INTERRUPT
' Description : PICBASIC PRO program to demonstrate use of On Interrupt
' Interrupts in BASIC. Turn LED on. Interrupt on PORTB.0 (INTE) turns LED off.
' Program waits .5 seconds and turns LED back on.
led Var PORTB.7
OPTION_REG = $7f ' Enable PORTB pullups
On Interrupt Goto myint ' Define interrupt handler
INTCON = $90 ' Enable INTE interrupt
mainloop:
High led ' Turn LED on
Goto mainloop ' Do it forever
' Interrupt handler
Disable ' No interrupts past this point
myint:
Low led ' If we get here, turn LED off
Pause 500 ' Wait .5 seconds
INTCON.1 = 0 ' Clear interrupt flag
Resume ' Return to main program
Enable
End
------------------------
the main loop runs and when an interrupt happens the program jumps to the handler called myint. does what is in myint and then returns to resume where it left off in the main loop.
just set the config so your interrupt is enabled that you want to use and put the code to read it in the myint routine. the main loop can do whatever it likes.
what do you think?
Bookmarks