Alain, Darrel, Jerson, thanks very much! You guys are great!
Sooo... if "Disable" & "Enable" don't work with DT_INT, what keeps interrupts from occurring during the interrupt handler? I assume that DT_INT must "protect" it's own handler?
Is there a way for me to disable the interrupts during certain subroutines?
When I get the rest of this put together there will be several places where I need to kill the interrupts to perform time sensitive tasks. Is that possible using DT_INT ?
Do I simply turn the interrupts on and off with the GIE bit when I want to? (INTCON.7 = 0) ?
Darrel, thanks for catching the TMR0 interrupt with no handler. I don't know why I keep doing that.I had to change the Timer resource from TMR2 to TMR0 and I enabled it's interrupt unnecessarily. Thanks! Turning TMR0 interrupt off helped but didn't completely cure the problem.
Jerson, please print yourself a pretty gold star and pin it to your shirt for the day!
The call to gosub "ServiceHardw" was indeed the big culprit. I assume that I just had so much stuff inside my interrupt handler that I ran out of time to do anything else before the next interrupt ?
I set a bit to tell when a button is pressed and check it in my main code as you suggested, and it works MUCH better now!
There's clearly a few bugs still to work out before I start adding the rest of my code back in, but it's looking pretty hopeful now.
Thanks again to all of you. What a great resource!
Steve
Bookmarks