#include /* ARDUINO ports definitions - GPIOS and ADCs */ #define RESET 8 //LDR #define MUX 2 //LDR #define PROG_MODE A2 #define BLUE A0 #define GREEN A1 #define MMC_CS 10 #define RTX_CS 9 #define POWER 6 #define SELECT_MODE_1 7 #define SELECT_MODE_2 3 #define SHT21_ADDRESS 0x40 // Direction of the sht21 unsigned long t = 0; byte seq_byte = 0; void setup() { pinMode(RESET, OUTPUT); digitalWrite(RESET, LOW); //RESET ON delay(100); digitalWrite(RESET, HIGH); //RESET OFF pinMode(MUX, OUTPUT); digitalWrite(MUX, LOW); //NORMAL MODE pinMode(PROG_MODE, OUTPUT); digitalWrite(PROG_MODE, LOW); //PROG_MODE OFF pinMode(GREEN, OUTPUT); digitalWrite(GREEN, HIGH); //GREEN ON pinMode(MMC_CS, OUTPUT); pinMode(52, OUTPUT); digitalWrite(MMC_CS, HIGH); //SPI MMC NO SELECT pinMode(RTX_CS, OUTPUT); digitalWrite(RTX_CS, HIGH); //SPI RTX NO SELECT pinMode(POWER, OUTPUT); digitalWrite(POWER, HIGH); //ENABLE POWER RTX SPI.begin(); Serial.begin(9600); Serial1.begin(9600); } void loop() { if (millis() > (t + 3000)) { //Test SPI (Arduino=Master) digitalWrite(RTX_CS, HIGH); //Hay que ponerlo ya que SPI.begin no lo baja SPI.beginTransaction(SPISettings(1000000, LSBFIRST, SPI_MODE0)); if (seq_byte == 254) { seq_byte == 0; } else { seq_byte ++; } Serial.println("Datos a enviar:"); Serial.print("->P1: "); Serial.println(seq_byte); Serial.print("->P2: "); Serial.println(123); Serial.print("->P3: "); Serial.println(100); byte p1 = SPI.transfer(seq_byte); byte p2 = SPI.transfer(123); byte p3 = SPI.transfer(100); Serial.println("Datos recibidos:"); Serial.print("<-P1: "); Serial.println(p1); Serial.print("<-P2: "); Serial.println(p2); Serial.print("<-P3: "); Serial.println(p3); SPI.endTransaction(); digitalWrite(RTX_CS, LOW); t = millis(); } }