Thanks for the help guys.
I have sussed out the two issues that I had.
For the INTS-14 version on the 16F877 that wouldnt compile, the problem was highlighted in DT_INTS-14 itself. I should have read through the comments rather than just blindly following the examples on the web. I missed this very important bit of information......
Code:
;-- Place a copy of these variables in your Main program -------------------
;-- The compiler will tell you which lines to un-comment --
;-- Do Not un-comment these lines --
;---------------------------------------------------------------------------
;wsave VAR BYTE $20 SYSTEM ' location for W if in bank0
wsave VAR BYTE $70 SYSTEM ' alternate save location for W
' if using $70, comment wsave1-3
' --- IF any of these three lines cause an error ?? ------------------------
' Comment them out to fix the problem ----
' -- Which variables are needed, depends on the Chip you are using --
;wsave1 VAR BYTE $A0 SYSTEM ' location for W if in bank1
;wsave2 VAR BYTE $120 SYSTEM ' location for W if in bank2
;wsave3 VAR BYTE $1A0 SYSTEM ' location for W if in bank3
' --------------------------------------------------------------------------
The problem with the DT_INTS-18 version was also self inflicted. When I first tried to use them I got a compiler error saying that INTHAND wasnt defined.
I looked at the include file and saw the following.....
Code:
DEFINE INTHAND INT_ENTRY_H ' Context saving for High Priority Ints
DEFINE INTLHAND INT_ENTRY_L ' Context saving for Low Priority Ints
I saw that one was for low priority and one for high priority and assumed the first one should be INTHHAND so I edited the file. I didnt get the error anymore but it also crashed the whole program !!!
Anyway, putting that behind me, thanks to you guys for pointing me in the right direction. If I ever stop looking at these pretty toggling LEDs I will be attempting amazing feats with interrupts to make my programs run faster and smoother.
Bookmarks