Need your help again I'm doing this time Master - Slave Using SPI communication, there is no error in the code when i simulate the code but the LED wont turn on
Master Code:
// Master Board
#include <SPI.h>
#define button1 4
#define SS 10
int buttonvalue;
int x;
void setup(void)
{
Serial.begin(115200); //set baud rate to 115200 for usart
digitalWrite(SS, HIGH); // disable Slave Select
SPI.begin ();
SPI.setClockDivider(SPI_CLOCK_DIV8);//divide the clock by 8
}
void loop(void)
{
digitalWrite(SS, LOW);
buttonvalue = digitalRead(button1);
if(buttonvalue == HIGH)
{
x = 1;
}
else
{
x = 0;
}
digitalWrite(SS, HIGH);
delay(1000);
}
Slave Code:
// Slave Board
#include <SPI.h>
#define led1 2
volatile byte Slavereceived;
volatile boolean received;
int x;
void setup(void)
{
Serial.begin(115200);
pinMode(2, OUTPUT);
pinMode(MISO,OUTPUT);
SPCR |= _BV(SPE);
received = false;
SPI.attachInterrupt();
}
ISR (SPI_STC_vect)
{
Slavereceived = SPDR;
received = true;
}
void loop()
{
if(received)
{
if (Slavereceived == 1)
{
digitalWrite(led1, HIGH);
}
else
{
digitalWrite(led1, LOW);
}
delay(1000);
}
}