Hmmm... I found a bug in the code. I was not ensuring I was in memory bank 0 in the ISR. This could have caused all sorts of problems, I guess, but, could it have caused this one? The only SFR's that the ISR modifies are GPIO, and TMR0 which in turn, if I was in the wrong bank, would have modified TRISIO, and the OPTION register. I guess the combination of those two registers could do some pretty weird things to the code, but, changes to the prescalar or TMR0 clock source would have been very obvious, and changes to the TRISIO would also have been noticed.... I think. Anyway, I have fixed the code, but now have to wait (forever) to see if it breaks again..... Still looking for advice. Rolf Rolf wrote: > Two additional items of information: > > To 'fix' the circuit, I disconnect the battery and wait a while before > re-connecting it. > > I can unplug the magnetic switch entirely leaving the circuit open and > it is still 'broken'. Also, one test showed that when working fine, > with the switch disconnected, it still later 'broke'. > > Thanks again > > I can supply the source code too... actually, it is attached. > > Rolf > > Rolf wrote: >> Hi all. >> >> Attached is the schematic for my current project. It is a wireless >> garage door monitor. It uses two magnetic switches to monitor two >> garage doors, and wirelessly transmits the door state and battery >> state to a receiver. [snip] >> Anyone have any ideas? >> >> Anyone suggest another avenue to explore? >> >> Thanks in advance >> >> Rolf -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist