Hello GolamMostafa
Do you happen to have the picture of the test setup laying around? I am facing the same issue currently. I managed to get it working at some point but it doesn't work atm.
I have pullup resistors(1K), AUX to GND, VREF to VCC VCC to 5V VREF IC
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.