I've been trying to get my DUE to control an AD5669R DAC through the I2C bus. I use pin 20 and 21 (SDA and SCL) and connected it directly to the SCL and SDA pins in my AD5669R board. Nothing happened, so I tried to look at the output through an oscilloscope to see what was being sent. It seems that I see some output, but it makes no sense as to the data that I send. The clock rate seems okay, but the amount of data is not right. IE. I send 3 bytes of data, but only see 8 clock cycles.
For now, I've been just testing with a simple code (as shown below) and I really have no clue what is wrong.
I'll take a stab:
Is the "A0" pin on the AD5669R chip actually tied to Vdd (for an effective address of 0x54)? Pages 11 and 22 of the datasheet.
Next:
It's been a while now (so thing are getting foggy), but there may be bugs in Wired that result in STOPS being generated after each byte written.
Do some searching for I2C issues (they do exist), especially for multi-byte transfers. Maybe try searching on my user name. I definitely ended up writing my own version of the interface (which was then posted). However, I think that somebody else has since posted more elegant code than my hackery.
Yea, the A0 pin is tied to Vdd, so the address should be okay.
I did some searching and the only thing I found related is the I2C Repeated Start topic that you discussed with another user. At first glance, I'm not too sure what the code does and if it would help me with this problem. If so, I guess I'll start looking into it and hopefully fix the issues I'm having.
Also, would using another type of Arduino be better for my purposes?