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

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

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

우노B의 소스코드도 우노A에 비하면 더 단순하다.

우노A와 공통된 사항을 제외하면 우노B도 두개의 함수로 구성되어 있다.

우노A로 부터 오는 데이터를 읽기 위한 함수

데이터를 출력하기 위한 LCD함수로 구성되어 있다.

 

LCD출력 함수에 대해서는 몇 줄되지 않고 다른 강좌에서 많기 때문에 생략하기로 한다.

그러면 마지막으로 남는 함수는 우노A로 부터 오는 데이터를 읽기 위한 함수 이다.

 

우노A의 시리얼 모니터 읽기 함수와 유사 하지만 차이가 있다.

시리얼 모니터에서 읽는 함수는 엔터를 기준으로 데이터를 읽었지만,

우노B의 읽기 함수는 구조체의 크기 만큼 읽는 함수 이다.

거의 유사 하지만, 약간의 차이가 있다.

 

void read_serial(Info& _info)
{   
    memset(&_info, 0x00, sizeof(Info)); 
    if (sSerial.available())
    { 
          char  c; 
          char *p;
          
          p = (char*)&_info;
          while( (p -  ((char*)&_info)) < sizeof(Info) )
          {
              if(sSerial.available()) 
              {
                c = sSerial.read();
                //*p = c; p++; 
                *(p++) = c;
                *p = '\0';                
                if (c == '\r' || c == '\n') break;
              }
          }
          _info.ver = version;
    }
    
    return ;
}

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

아두이노 통신 번외편 -#2  (0) 2021.11.20
아두이노 통신 번외편 -#1  (0) 2021.11.20
아두이노 통신 UNO TO UNO -#4  (0) 2021.11.16
아두이노 통신 UNO TO UNO -#3  (0) 2021.11.16
아두이노 통신 UNO TO UNO -#2  (0) 2021.11.16

댓글