Hello!
I made my DAC code with DAC5311 and Arduino Uno.
I think it has no problem, but it doesn't work well. Just print 0.
I don't know where has the problem. Please give me any suggestion.
#include <SPI.h>
#include <math.h>
#define pin_CS 10
#define pin_MOSI 11
#define pin_SCLK 13
#define max_VOLT 5
void setVoltage(float voltage){
if (voltage < 0) voltage = 0;
if (voltage > max_VOLT) voltage = max_VOLT;
uint16_t temp = int(voltage * pow(2, 8) / max_VOLT);
temp = temp << 6;
uint8_t upper = temp >> 8;
uint8_t lower = (temp & 0xff);
digitalWrite(pin_CS, LOW);
SPI.transfer(upper);
SPI.transfer(lower);
digitalWrite(pin_CS, HIGH);
}
void setup() {
Serial.begin(9600);
pinMode(pin_CS,OUTPUT);
pinMode(pin_MOSI,OUTPUT);
pinMode(pin_SCLK,OUTPUT);
SPI.begin();
SPI.setBitOrder(MSBFIRST);
SPI.setDataMode(SPI_MODE0);
digitalWrite(pin_CS,HIGH);
delay(1000);
setVoltage(5);
}
void loop() {
}


