If you are only using Assembly Language Interrupt handlers, then the only file you need to include is DT_INTS-18.bas, ReEnterPBP is not needed.
And, remember to tell it if you are using Low Priority interrupts with the DEFINE. (See Low Priority Ints)
Here's another example of a Blinky Light program using TMR1 with an Assembly Language Interrupt handler.
Note that the INT_Handler's Type is ASM, and the Label does not have an underscore before it.
; Initialize your Hardware first
LED1 VAR PORTB.1
LOW LED1 ; Set to Output Low
INCLUDE "DT_INTS-18.bas" ; Base Interrupt System
ASM
INT_LIST macro ; IntSource, Label, Type, ResetFlag?
INT_Handler TMR1_INT, ToggleLED1, ASM, yes
endm
INT_CREATE ; Creates the interrupt processor
ENDASM
T1CON = $31 ; Prescaler = 8, TMR1ON
@ INT_ENABLE TMR1_INT ; Enable Timer 1 Interrupts
Main:
PAUSE 1
GOTO Main
'---[TMR1_INT - interrupt handler]------------------------------------------
ASM
ToggleLED1
btg _LED1 ; toggle the pin
INT_RETURN
ENDASM
Page last modified on March 02, 2018, at 04:31 AM