Due I2C Randomly Locks Up

I am using a arduino due to communicate with a MAX7310 and LTC2657. The purpose is to allow multiple boards selected by the expander; the board currently connected then has 32 analog outputs providing a 0 to 10v signal, it can also read 32 analog inputsl but I have chopped this out of the code attached to keep it simple!

It is connected on SDA and SCL …

The code attached randomly locks; it can lock up immedately or run for many hours before locking up.

I have purchased a scope to monitor the signals; but I am now way out of my depth …

Any help would be appreciated; I have now struggled to understand this for several weeks myself!

When it locks up I can see that the SCL lines are 3V3 on both the arduino and analog PCB; the analog has 3v3 on the sda line… but the arduino sda is 0v0.

I have tested this on a mega; with the same problems …

If I run on the SDA1 and SCL1 I get the same problems?

dueI2C.ino (3.11 KB)