#include <SPI.h>
#include "Arduino.h"
const int dataReadyPin = PA_5;
const int chipSelectPin = PE_0;
uint16_t chan_0 = 0b000000000000;
uint16_t chan_1 = 0b000100000000;
uint16_t chan_2 = 0b001000000000;
uint16_t chan_3 = 0b001100000000;
uint16_t chan_4 = 0b010000000000;
uint16_t chan_5 = 0b010100000000;
uint16_t chan_6 = 0b011000000000;
uint16_t chan_7 = 0b011100000000;
uint16_t chan_8 = 0b100000000000;
uint16_t chan_9 = 0b100100000000;
uint16_t chan_10 = 0b101000000000;
uint16_t test_1 = 0b101100000000;
uint16_t test_2 = 0b110000000000;
uint16_t test_3 = 0b110100000000;
uint16_t SW_PD = 0b111000000000;
uint16_t bit_8 = 0b000001000000;
uint16_t bit_12 = 0b000000000000;
uint16_t bit_16 = 0b000011000000;
uint16_t msb = 0b000000000000;
uint16_t lsb = 0b000000100000;
uint16_t unipolar = 0b000000000000;
uint16_t bipolar = 0b000000010000;
uint16_t val_null, val0, val1, val2, val3, val4, val5;
SPIClass TLV2553(2);
void setup()
{
Serial.begin(9600);
TLV2553.begin();
pinMode(dataReadyPin, INPUT);
pinMode(chipSelectPin, OUTPUT);
digitalWrite(chipSelectPin, HIGH);
}
void loop()
{
while (!digitalRead(dataReadyPin))
{
}
digitalWrite(chipSelectPin, LOW);
val_null = TLV2553.transfer((chan_0 | bit_12 | msb | unipolar) >> 4);
while (digitalRead(dataReadyPin)){
val_null = (val_null << 4);
val_null += TLV2553.transfer(0xF) >> 4;
}
digitalWrite(chipSelectPin, HIGH);
while (!digitalRead(dataReadyPin))
{
}
digitalWrite(chipSelectPin, LOW);
val0 = TLV2553.transfer((chan_1 | bit_12 | msb | unipolar) >> 4);
while (digitalRead(dataReadyPin)){
val0 = (val0 << 4);
val0 += TLV2553.transfer(0xF) >> 4;
}
Serial.print("A0: ");
Serial.println(val0);
digitalWrite(chipSelectPin, HIGH);
while (!digitalRead(dataReadyPin))
{
}
digitalWrite(chipSelectPin, LOW);
val1 = TLV2553.transfer((chan_2 | bit_12 | msb | unipolar) >> 4);
while (digitalRead(dataReadyPin)){
val1 = (val1 << 4);
val1 += TLV2553.transfer(0xF) >> 4;
}
Serial.print("A1: ");
Serial.println(val1);
digitalWrite(chipSelectPin, HIGH);
while (!digitalRead(dataReadyPin))
{
}
digitalWrite(chipSelectPin, LOW);
val2 = TLV2553.transfer((chan_3 | bit_12 | msb | unipolar) >> 4);
while (digitalRead(dataReadyPin)){
val2 = (val2 << 4);
val2 += TLV2553.transfer(0xF) >> 4;
}
Serial.print("A2: ");
Serial.println(val2);
digitalWrite(chipSelectPin, HIGH);
while (!digitalRead(dataReadyPin))
{
}
digitalWrite(chipSelectPin, LOW);
val3 = TLV2553.transfer((chan_4 | bit_12 | msb | unipolar) >> 4);
while (digitalRead(dataReadyPin)){
val3 = (val3 << 4);
val3 += TLV2553.transfer(0xF) >> 4;
}
Serial.print("A3: ");
Serial.println(val3);
digitalWrite(chipSelectPin, HIGH);
while (!digitalRead(dataReadyPin))
{
}
digitalWrite(chipSelectPin, LOW);
val4 = TLV2553.transfer((chan_5 | bit_12 | msb | unipolar) >> 4);
while (digitalRead(dataReadyPin)){
val4 = (val4 << 4);
val4 += TLV2553.transfer(0xF) >> 4;
}
Serial.print("A4: ");
Serial.println(val4);
digitalWrite(chipSelectPin, HIGH);
while (!digitalRead(dataReadyPin))
{
}
digitalWrite(chipSelectPin, LOW);
val5 = TLV2553.transfer((chan_6 | bit_12 | msb | unipolar) >> 4);
while (digitalRead(dataReadyPin)){
val5 = (val5 << 4);
val5 += TLV2553.transfer(0xF) >> 4;
}
Serial.print("A5: ");
Serial.println(val5);
digitalWrite(chipSelectPin, HIGH);
Serial.println();
Serial.println();
Serial.println();
Serial.println();
Serial.println();
delay(1000);
}
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.