반응형
이제 번외편 마지막이다.
이전에 인자만 다르고 동일한 함수를 두개 만들어서 사용했다.
아두이노 메가 처럼 하드웨어시리얼도 많고 소프트웨어 시리얼도 가능하다면 유용한 코드가 될것이다.
그래도 동일한, 유사한 함수가 두개라는것은 좀 그렇다.
그래서 최종적으로 진화하는 템플릿으로 진화 하는것이다.
변수의 타입, 객체의 형태를 정의하지 않는것이다.
정의하지 않는 형태가 바로 템플릿이다.
template <class T> void read_serial(Info& _info, T& ss)
{
memset(&_info, 0x00, sizeof(Info));
if (ss.available())
{
char c;
char *p;
p = (char*)&_info;
while( (p - ((char*)&_info)) < sizeof(Info) )
{
if(ss.available())
{
c = ss.read();
//*p = c; p++;
*(p++) = c;
*p = '\0';
if (c == '\r' || c == '\n') break;
}
}
_info.ver = version;
}
return ;
}
'아두이노 > 보드' 카테고리의 다른 글
아두이노 통신 UNO TO UNO -#6 (0) | 2021.12.04 |
---|---|
아두이노 통신 번외편 -#4 (0) | 2021.11.20 |
아두이노 통신 번외편 -#2 (0) | 2021.11.20 |
아두이노 통신 번외편 -#1 (0) | 2021.11.20 |
아두이노 통신 UNO TO UNO -#5 (0) | 2021.11.16 |
댓글