mirror of
https://github.com/PotentiaRobotics/engine-software.git
synced 2025-04-21 12:30:16 -04:00
character en/decoding works
This commit is contained in:
parent
4811ceb1c5
commit
a5715d1468
37
communication/SPI/v0.3_M_SPI/M_SPI.ino
Normal file
37
communication/SPI/v0.3_M_SPI/M_SPI.ino
Normal file
|
@ -0,0 +1,37 @@
|
|||
//Master Arduino Code:
|
||||
//SPI MASTER (ARDUINO)
|
||||
//SPI COMMUNICATION BETWEEN TWO ARDUINO
|
||||
//CIRCUIT DIGEST
|
||||
|
||||
#include<SPI.h> //Library for SPI
|
||||
#define LED 7
|
||||
#define ipbutton 2
|
||||
int buttonvalue;
|
||||
int x;
|
||||
void setup (void)
|
||||
|
||||
{
|
||||
Serial.begin(115200); //Starts Serial Communication at Baud Rate 115200
|
||||
|
||||
pinMode(ipbutton,INPUT); //Sets pin 2 as input
|
||||
pinMode(LED,OUTPUT); //Sets pin 7 as Output
|
||||
|
||||
SPI.begin(); //Begins the SPI commnuication
|
||||
SPI.setClockDivider(SPI_CLOCK_DIV8); //Sets clock for SPI communication at 8 (16/8=2Mhz)
|
||||
digitalWrite(SS,HIGH); // Setting SlaveSelect as HIGH (So master doesnt connnect with slave)
|
||||
}
|
||||
|
||||
void loop(void)
|
||||
{
|
||||
byte Mastersend,Mastereceive;
|
||||
|
||||
buttonvalue = 8;
|
||||
|
||||
digitalWrite(SS, LOW); //Starts communication with Slave connected to master
|
||||
|
||||
Mastersend = buttonvalue;
|
||||
Mastereceive=SPI.transfer(Mastersend); //Send the mastersend value to slave also receives value from slave
|
||||
|
||||
Serial.println(Mastereceive);
|
||||
delay(50);
|
||||
}
|
78
communication/SPI/v0.3_S_SPI/S_SPI.ino
Normal file
78
communication/SPI/v0.3_S_SPI/S_SPI.ino
Normal file
|
@ -0,0 +1,78 @@
|
|||
|
||||
//Slave Arduino Code:
|
||||
//SPI SLAVE (ARDUINO)
|
||||
//SPI COMMUNICATION BETWEEN TWO ARDUINO
|
||||
//CIRCUIT DIGEST
|
||||
//Pramoth.T
|
||||
|
||||
#include<SPI.h>
|
||||
#define LEDpin 7
|
||||
#define buttonpin 2
|
||||
volatile boolean received;
|
||||
volatile byte Slavereceived,Slavesend;
|
||||
int buttonvalue;
|
||||
int x = 5;
|
||||
void setup()
|
||||
|
||||
{
|
||||
Serial.begin(115200);
|
||||
|
||||
pinMode(buttonpin,INPUT); // Setting pin 2 as INPUT
|
||||
pinMode(LEDpin,OUTPUT); // Setting pin 7 as OUTPUT
|
||||
pinMode(MISO,OUTPUT); //Sets MISO as OUTPUT (Have to Send data to Master IN
|
||||
|
||||
SPCR |= _BV(SPE); //Turn on SPI in Slave Mode
|
||||
received = false;
|
||||
|
||||
SPI.attachInterrupt(); //Interuupt ON is set for SPI commnucation
|
||||
|
||||
}
|
||||
|
||||
ISR (SPI_STC_vect) //Inerrrput routine function
|
||||
{
|
||||
Slavereceived = SPDR; // Value received from master if store in variable slavereceived
|
||||
received = true; //Sets received as True
|
||||
}
|
||||
|
||||
void loop()
|
||||
{ if(received) //Logic to SET LED ON OR OFF depending upon the value recerived from master
|
||||
{
|
||||
if (Slavereceived==8)
|
||||
{
|
||||
x+=1;
|
||||
|
||||
|
||||
/*
|
||||
digitalWrite(LEDpin,HIGH); //Sets pin 7 as HIGH LED ON
|
||||
Serial.println("Slave LED ON");
|
||||
}else
|
||||
{
|
||||
digitalWrite(LEDpin,LOW); //Sets pin 7 as LOW LED OFF
|
||||
Serial.println("Slave LED OFF");
|
||||
}
|
||||
|
||||
buttonvalue = digitalRead(buttonpin); // Reads the status of the pin 2
|
||||
|
||||
if (buttonvalue == HIGH) //Logic to set the value of x to send to master
|
||||
{
|
||||
x=1;
|
||||
|
||||
}else
|
||||
{
|
||||
x=0;*/
|
||||
|
||||
}
|
||||
if(x == 10){x = 0;}
|
||||
|
||||
Slavesend=x;
|
||||
|
||||
|
||||
SPDR = Slavesend;
|
||||
SPDR = x;//Sends the x value to master via SPDR
|
||||
Serial.println(SPDR);
|
||||
Serial.println(Slavesend);
|
||||
delay(500);
|
||||
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user