Try adding a 'clrwdt' as shown below: At 08:52 PM 2/16/02 -0800, Nick Masluk wrote: >Nope, that doesn't seem to be it. I added the >following code to the end of all places where the >EEPROM is written to, and it always ends up in a WDT >time-out. > >TestEEfin1 > clrwdt ;tickle dog > btfss PIR1, EEIF ;write finished > goto TestEEfin1 ;nope > bcf PIR1, EEIF You have to clear the WDT while you are waiting for the write to finish. If you replicate the above code in multiple locations, be sure to change the digit at the end of label so that each instance is unique. One other thing: the location of where you clear the interrupt flag may be a bit dicey: I'd prefer to clear the flag just before starting the write, not after it is finished as you have done above. dwayne Dwayne Reid Trinity Electronics Systems Ltd Edmonton, AB, CANADA (780) 489-3199 voice (780) 487-6397 fax Celebrating 18 years of Engineering Innovation (1984 - 2002) .-. .-. .-. .-. .-. .-. .-. .-. .-. .- `-' `-' `-' `-' `-' `-' `-' `-' `-' Do NOT send unsolicited commercial email to this email address. This message neither grants consent to receive unsolicited commercial email nor is intended to solicit commercial email. -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics