Neil wrote: > Any idea what could be going wrong here? Hi Neil, Still looking over your code, but just a few comments right now: I don't see anywhere in your code where you are clearing bit 7 of EEADR -- it should be set to zero for the device you are using. Are you ANDing the W register (EEPROM address) with 0x7F before calling your write routine? Also, it might be better to re-enable interrupts only if they were previously enabled when you entered the EEPROM write routine instead of unconditionally enabling them. It might not matter in this specific application of yours, but this might be something that will bite you in the future. Perhaps you could toggle an I/O pin in your write routine and 'scope to see if you are actually getting stuck there. Keep us posted...let me go back to your code... Best regards, Ken Pergola -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv@mitvma.mit.edu with SET PICList DIGEST in the body