Study/Arduino

[Arduino] Arduino-Arduino UART Communication

tonyprojectroom 2022. 7. 10. 15:54

1. UART (UART Port)

1) 연결 회로도

 

2) 소프트웨어

- Master

void setup() {
  Serial.begin(115200);
  while(!Serial);
}

void loop() {
  Serial.write('a');
  delay(1000);
  Serial.write('b');
  delay(1000);
}

 

- Slave

void setup() {
  Serial.begin(115200);
  while(!Serial);
  pinMode(13, OUTPUT);
}

void loop() {
  if(Serial.available()) {
    char data = Serial.read();
    if(data == 'a') {
      digitalWrite(13, 1);
    } else if(data == 'b') {
      digitalWrite(13, 0);
    }
  }
}

 

 

2. UART (SoftwareSerial)

1) 연결 회로도

 

2) 소프트웨어

- Master

#include <SoftwareSerial.h>

SoftwareSerial softwareSerial(2, 3);  // 2:RX, 3:TX

void setup() {
  Serial.begin(115200);
  while(!Serial);
  
  softwareSerial.begin(115200);
  while(!softwareSerial);
}

void loop() {
  Serial.println('a');
  softwareSerial.write('a');
  delay(1000);
  
  Serial.println('b');
  softwareSerial.write('b');
  delay(1000);
}

 

- Slave

void setup() {
  Serial.begin(115200);
  while(!Serial);
  pinMode(13, OUTPUT);
}

void loop() {
  if(Serial.available()) {
    char data = Serial.read();
    if(data == 'a') {
      digitalWrite(13, 1);
    } else if(data == 'b') {
      digitalWrite(13, 0);
    }
  }
}