#include <SPI.h>
#define CS 5
void setup() {
Serial.begin(115200);
SPI.begin(18, 19, 23, CS);
pinMode(CS, OUTPUT);
digitalWrite(CS, HIGH);
}
uint16_t readADC(uint8_t channel) {
digitalWrite(CS, LOW);
SPI.transfer(1);
uint8_t highByte = SPI.transfer((8 + channel) << 4);
uint8_t lowByte = SPI.transfer(0);
digitalWrite(CS, HIGH);
return ((highByte & 3) << 8) | lowByte;
}
void loop() {
uint16_t value = readADC(0);
Serial.print("ADC Value: ");
Serial.println(value);
delay(1000);
}