반응형
사실 이전에 했던 내용과 이어져 있지만, 좀 다르다.
그렇다고 꼭 필요하지는 않다.
그렇지만 알아 두면 좋은 내용이다.
기존의 코드에서 범용성을 기반으로 코드를 수정 하는것이다.
기존의코드는 시리얼통신을 기반으로 하고 있다.
그렇다면 하드웨어 시리얼을 사용한다면 코드를 변경해야 한다.
혹은 다른 시리얼 통신을 사용한다면 또 코드를 변경해야 한다.
그래서 시리얼통신을 변수화 하는것이다.
이전코드와 이후코드의 차이를 보는것만으로 도움이 될것이다.
void read_serial(Info& _info, SoftwareSerial& 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 ;
}
'아두이노 > 보드' 카테고리의 다른 글
아두이노 통신 번외편 -#3 (0) | 2021.11.20 |
---|---|
아두이노 통신 번외편 -#2 (0) | 2021.11.20 |
아두이노 통신 UNO TO UNO -#5 (0) | 2021.11.16 |
아두이노 통신 UNO TO UNO -#4 (0) | 2021.11.16 |
아두이노 통신 UNO TO UNO -#3 (0) | 2021.11.16 |
댓글