You may try the following setup for quick functional check of MAX5217 DAC (untested due to lack of the DAC chip):
1. Build the following circuit between the UNO and the DAC. (AUX/ function is disabled.)
2. Connect a DVM at Out-pin of the DAC.
3. Upload the following sketch. Bring in the Serial Monitor at 9600 Baud.
#include <Wire.h>
void setup()
{
Serial.begin(9600);
Wire.begin();
pinMode(8, INPUT_PULLUP); //Dpin-8 is input with internal pull-up resistor
byte busStatus;
do
{
Wire.beginTransmission(0x1D); //checking the presence of DAC
busStatus = Wire.endTransmission();
}
while (busStatus !=0x00); //checking that DAc has aaccepted its address and has sent ACk signal
Serial.println(busStatus); //Serial Monitor should show 0
//--------------------------------
while(digitalRead(8) != LOW)
; //wait until K1 is closed
Wire.beginTransmission(0x1D); //address of DAC 0x1D
Wire.write(0x08); //pointing user configurable regsiter
Wire.write(0x00); //value for configurable register; AUX/ input is disabled
Wire.endTransmission(); //transfer all the above queued data to the ADC
//--------------------------------
Wire.beginTransmission(0x1D); //address of DAC
Wire.write(0x01); //address of command byte register/load code and load to DAC
Wire.write(0x7F); //upper 8-bit data for DAC
Wire.write(0xFF); //lower 8-bit data for DAC
Wire.endTransmission(); //transfer all the above queued data
}
void loop()
{
}
4. Check that 0 has appeared on the Serial Monitor.
5. Gently press the K1 switch.
6. Check that the DVM shows about 2.50V DC.
This is the end of simple functional check of the MAX5217 DAC.