본문 바로가기
아두이노/보드

아두이노 통신 UNO TO UNO -#2

by 오징어땅콩2 2021. 11. 16.
반응형

 

우노A의 연결은 2번, 3번 핀을 우노 B와 연결해서 시리얼 통신을 할 것이다. 

추가로 연결한것은 없다.

 

우노A의 소스코드를 보자

 

 

#include <SoftwareSerial.h>
#include <LiquidCrystal_I2C.h>

SoftwareSerial sSerial= SoftwareSerial(2, 3);
//HardwareSerial&  sSerial = Serial2;
#define version 0x01
#define BAUD 9600 

typedef struct _Info
{ 
  char ver;
  char lcd_1[20+1];
  _Info()
  {
    ver = version;
    memset(lcd_1, 0x00, sizeof(char)*21);
  }
  
}Info;

void setup()
{
  Serial.begin(BAUD);
  sSerial.begin(BAUD);
       
}

void loop() 
{          
  Info adcinfo;
  
  read_serial(adcinfo);
  send_serial(adcinfo);
  delay(10);
}

void read_serial(Info& _info)
{
  char c = '\0';
  char *p;
  char buf[22];

  p = buf;
  memset(&_info, 0x00, sizeof(Info));
  while(1)
  {
      if(Serial.available()) 
      {
        c = Serial.read();
        if (c == '\r' || c == '\n') break;
        if ((p - buf) < 20)
        {
          //*p = c; p++; 
          *(p++) = c;
          *p = '\0';
        }
      }
  }
  
  if ((p - buf) > 0  && ( c == '\r' || c == '\n') )
  {
    //Serial.println(p - buf);
    _info.ver = version;
    memcpy(_info.lcd_1, buf, sizeof(char)*21);
  }

  return ;
}

 void send_serial(Info& _info)
{
    if(_info.ver==version)
    {
      sSerial.write((char*)(&_info), sizeof(Info));
    }
    
    return  ;
}

'아두이노 > 보드' 카테고리의 다른 글

아두이노 통신 UNO TO UNO -#4  (0) 2021.11.16
아두이노 통신 UNO TO UNO -#3  (0) 2021.11.16
아두이노 통신 UNO TO UNO -#1  (0) 2021.11.16
Make IT! Arduino 개봉기  (0) 2020.06.24
ATTINY85, 88보드 업로드  (0) 2020.05.02

댓글