better results with pos.Vref = +2.5V
+5V 7FFFFF 8.388.607
+2,5V 40ACA4 ~4.238.500
+0,1V 5DC ~1,500
<+0,1 FFXXXX 16.xxx.xxx
/*
ADS1244
*/
int DATA = 4;
int SCLK = 5;
void setup() {
pinMode(DATA, INPUT);
pinMode(SCLK, OUTPUT);
Serial.begin(115200);
// generate a 2.4MHz clock signal on pin 3
pinMode(3, OUTPUT); //CLK
// 17.11 Register Description
TCCR2A = 0x33; // 0011 0011
TCCR2B = 0x09; // 0000 1001
OCR2A = 0x06; // 0000 0110
OCR2B = 0x03; // 0000 0011
Serial.print("ADS1244"); // output 'AADS1244' (?) additional 'A' in front
delay(100);
}
void loop() {
// Code for reading the data:
int32_t value = 0;
//digitalWrite(SCLK, HIGH); //enter slleep mode
delay(1000);
digitalWrite(SCLK, LOW); // wake up ADC
// wait for data ready, stay in while-loop until LOW
while (digitalRead(DATA) == HIGH);
value = shiftIn(DATA, SCLK, MSBFIRST);
value <<= 8;
value |= shiftIn(DATA, SCLK, MSBFIRST);
value <<= 8;
value |= shiftIn(DATA, SCLK, MSBFIRST);
digitalWrite(SCLK, HIGH); // enter sleep mode
//digitalWrite(SCLK, LOW); // 25th pulse to keep DATA high till next data ready
Serial.println(value, DEC);
Serial.flush();
}