#include int CS=10; unsigned long x=0x0; void setup() { Serial.begin(115200); pinMode(CS,OUTPUT); SPI.begin(); // initalisiert SPI (MOSI,MISO,SCK) SPI.setBitOrder(MSBFIRST); // deklariert Bitreihenfolge SPI.setDataMode(SPI_MODE1); // digitalWrite(CS,LOW); SPI.transfer(0x40 | 0x00); // MUX0 SPI.transfer(0x00); SPI.transfer(B00000001); // AIN0 und AIN1 SPI.transfer(0x40 | 0x01); // VBIAS deaktiviert SPI.transfer(0x00); SPI.transfer(B00000001); // VBIAS on AIN0 SPI.transfer(0x40 | 0x02); // MUX1 SPI.transfer(0x00); SPI.transfer(B00110000); // int. Refenrenz immer an; int. Ref selektiert; normale Operation SPI.transfer(0x40 | 0x03); // SYS0: PGA un Rate SPI.transfer(0x00); SPI.transfer(B01110010); // Verstärkung=128 und Abtastrate=20 SPI.transfer(0x40 | 0x0b); // IDAC1 Stromausgänge SPI.transfer(0x00); SPI.transfer(B11111111); // disconnect SPI.transfer(0x40 | 0x0a); // IDAC0 Ausgangsstrom SPI.transfer(0x00); SPI.transfer(B00000000); // 0 uA digitalWrite(CS,HIGH); } void loop() { digitalWrite(CS,LOW); x = 0x0; //Messwert zurücksetzen SPI.transfer(0x12); // RDATA ansprechen x |= SPI.transfer(0xFF); //1. byte lesen; x <<= 8; x |= SPI.transfer(0xFF); //2. byte lesen x <<= 8; x |= SPI.transfer(0xFF); //3. byte lesen delayMicroseconds(1); Serial.println(x); }