Mark Rages wrote: > I had to make the some changes to use AN734 (I2C slave example) on a > 16F690. For more information, including an idea for testing I2C, see > my blog. (http://vivara.net/blog/?p=53) If you want to know why the address is 'halved', it's probably because I2C's address field is 7 bits with a 1-bit read/write flag bit in the LSB. SMBus takes the address as those seven bits, LSB-aligned, with separate R/W operations on the SMBus controller. The PIC is comparing the address with 0x06 (write to real address 0x03), your PC is writing to what it calls address 0x03. So the R/!W bit is low (write), meaning the address byte has a value of... 0x06. I'm not 100% sure if this is what's actually happening, but the theory seems to be accurate... YMMV. -- Phil. | (\_/) This is Bunny. Copy and paste Bunny piclist@philpem.me.uk | (='.'=) into your signature to help him gain http://www.philpem.me.uk/ | (")_(") world domination. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist