GolamMostafa:
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.
Thanks alot for your effort.
Till point 4 everything is working fine. I got the 0 on the Serial Monitor. But i didnt get the 2.5 on my DVM. i am still getting 0 Volt. i checked the pins VDD, Vref, SDA, SCL, AUX they all have almost 5V. and didnt connect anything to ADDR. GND is 0 and output is also 0.