I have been using the 18F2220 for I2C for dozens of projects and have never had an issue. Either I have been getting away with something for long time or something has changed with the latest lot of chips I received. I am using it to go along with a SD21 servo controller as I have done before many times. The chip keeps resetting everytime I try writing. If I remark out the Attachment 4859Attachment 4860DEFINE I2C_HOLD 1 line it does not reset, but I can not command the SD21. I have always used the DEFINE I2C_HOLD 1 statement. I am using 4.7k pulldowns as I usual. I have tried stronger values, I have tried with and without the SD21, I have tried different PCBs, I have tried different chips. I have dummed down the program all the way to have just the I2C commands. I am not sure what I am missing. Any help would be appreciated. Thanks
I have attached code in PDF