1 // sketch_09_01_SPI_ADC
5 const int chipSelectPin = 10;
11 pinMode(chipSelectPin, OUTPUT);
12 digitalWrite(chipSelectPin, HIGH);
17 int reading = readADC(0);
18 Serial.println(reading);
22 int readADC(byte channel)
24 unsigned int configWord = 0b11000 | channel;
25 byte configByteA = (configWord >> 1);
26 byte configByteB = ((configWord & 1) << 7);
27 digitalWrite(chipSelectPin, LOW);
28 SPI.transfer(configByteA);
29 byte readingH = SPI.transfer(configByteB);
30 byte readingL = SPI.transfer(0);
31 digitalWrite(chipSelectPin, HIGH);
36 int reading = ((readingH & 0b00011111) << 5) + ((readingL & 0b11111000) >> 3);
41 void printByte(byte b)
43 for (int i = 7; i >= 0; i--)
45 Serial.print(bitRead(b, i));