> The last three instructions would seem (to me) to cause an > endless loop. The PIC has set the interrupt flag when the > data has been clocked out and the ACK bit clocked in. You > then clear the interrupt flag and wait for it to be set again, but > with nothing in SSPBUF that interrupt is not going to > happen. I may be missing something... Think it happened to work because sspif had not been cleared beforehand and was still set from a previous operation I've had a go at cleaning it up, mainly removing superfluous and, for this test, unnecessary usagage of sspif http://home.clear.net.nz/pages/joecolquitt/mssp_i2c.html It looks pretty succinct and the result is what I want. Hopefully all the ducks are lined up now -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads