Hi I am trying to do SPI comm. between ADC7066 and Arduino Uno. I am giving 2V from the external Power supply to the CH1 (AIN1) but getting some random data on SDO. I am using manual mode and SPI mode 0.
Connections:
ADC7066 | Uno |
CS | Digital Pin 10 |
SDI | MOSI (D11 ) |
SDO | MISO (D12) |
CLK | CLK (D13) |
5V | 5V |
AVDD | 3.3V |
AIN1 | 2V |
Arduino CODE:
#include <SPI.h>
const int CS = 10;
uint32_t ADC_GET(int CS);
#define DELAYTIME 2 //delay, in seconds
void setup(){
pinMode(13, OUTPUT); //SPI SCK
pinMode(11, OUTPUT); //SPI MOSI
pinMode(12, INPUT); //SPI MISO
pinMode (CS, OUTPUT);
digitalWrite(CS, HIGH);
SPI.begin();
SPI.setBitOrder(MSBFIRST);
SPI.setDataMode(SPI_MODE0);
SPI.setClockDivider(SPI_CLOCK_DIV2);
Serial.begin(9600);
}
void loop() {
uint8_t RD_REG = 0b00010000;
uint8_t Add = 0x11;
uint8_t Data = 0x00;
digitalWrite(CS, LOW);
SPI.transfer(WR_REG);
SPI.transfer(0b00010001);
SPI.transfer(Data);
digitalWrite(CS, HIGH);
uint32_t data = (RD_REG)+(Add)+ (Data); //combine bytes, scale 32bit to 24bit
return data;
delay(5000);
}