#include #include #include #define led 2 char str[32]; uint8_t status = 0; uint8_t buf[32] = {0}; bool flag = false; void spi_rx(uint8_t * data, size_t len) { for(uint8_t i = 0; i < len ; i++) { buf[i] = data[i]; } flag = true; digitalWrite(led, status); status = !status; } void setup() { // put your setup code here, to run once: Serial.begin(74880); pinMode(led, OUTPUT); pinMode(16, INPUT); SPISlave.begin(); SPISlave.onData(&spi_rx); } void loop() { // put your main code here, to run repeatedly: if(flag) { flag = false; snprintf(str, sizeof(str), "%s", (char *)buf); Serial.println(str); } }