#include // passe ggf. diesen CS_PIN an oder nutze Hardware-SS: #define CS_PIN 7 void setup() { Serial.begin(115200); while (!Serial) { ; // Warte bis Serial verfügbar ist (für native USB-Boards) } // Initialisiere SPI SPI.begin(); SPI.beginTransaction(SPISettings(1000000, MSBFIRST, SPI_MODE0)); // Chip-Select-Pin konfigurieren (als Master meist "manuell" gesteuert) pinMode(CS_PIN, OUTPUT); digitalWrite(CS_PIN, HIGH); Serial.println("SPI Loopback-Test gestartet..."); } void loop() { static uint8_t dataToSend = 0x00; // Byte, das wir hochzählen // CS auf LOW ziehen, um die "Übertragung" zu starten digitalWrite(CS_PIN, LOW); // Sende ein Byte und empfange gleichzeitig das gelesene Byte uint8_t received = SPI.transfer(dataToSend); // CS wieder auf HIGH digitalWrite(CS_PIN, HIGH); // Ergebnis ausgeben Serial.print("Gesendet: 0x"); Serial.print(dataToSend, HEX); Serial.print(" Empfangen: 0x"); Serial.println(received, HEX); // Sende-Byte hochzählen dataToSend++; delay(1000); }