미친해커

[Arduino] 아두이노 시리얼 포트로 데이터 전송하기 본문

Arduino

[Arduino] 아두이노 시리얼 포트로 데이터 전송하기

미친해커 2021. 12. 29. 01:10
반응형

아두이노에서 시리얼 포트로 데이터를 전송하는 함수는 다양하다. 이번에는 그 함수들의 사용법을 알아보자

첫번째로 기본적인 Serial.print() 함수이다.
size_t print(const __FlashStringHelper *);
size_t print(const String &);
size_t print(const char[]);
size_t print(char);
size_t print(unsigned char, int = DEC);
size_t print(int, int = DEC);
size_t print(unsigned int, int = DEC);
size_t print(long, int = DEC);
size_t print(unsigned long, int = DEC);
size_t print(double, int = 2);
size_t print(const Printable&);

아두이노는 C++를 사용하기 때문에 위와 같이 print 함수가 오버로딩되어있다. 대부분의 타입은 지원하는 것으로 보인다. 이 함수를 사용하여 시리얼 포트로 "Hello World Arduino!" 를 보내는 코드를 작성해보자.

 

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

void loop()
{
    Serial.print("Hello World Arduino!\n");
    delay(500);
}

위 코드를 아두이노에 업로드하면 아두이노가 시리얼 포트로 "Hello World Arduino!" 문자열을 지속적으로 전송하게된다.

동작 장면

이렇게 문자열을 전송받아 출력하는 것을 볼 수 있다. 또 다른 비슷한 함수로는 

Serial.println() 함수가 있다.
size_t println(const __FlashStringHelper *);
size_t println(const String &s);
size_t println(const char[]);
size_t println(char);
size_t println(unsigned char, int = DEC);
size_t println(int, int = DEC);
size_t println(unsigned int, int = DEC);
size_t println(long, int = DEC);
size_t println(unsigned long, int = DEC);
size_t println(double, int = 2);
size_t println(const Printable&);
size_t println(void);

println 함수 같은 경우에는 print 함수와 배우 비슷하다. 하지만 다른 점이 있다면 println 함수는 인자로 들어온 데이터 끝부분에 캐이지 리턴 ('\r', '\n', '엔터', '한줄 내리기')가 함께 전송된다. 즉 "Hello World Arduino!\n"이 아니라 "Hello World Arduino!" 만 보내도 자동으로 한줄이 내려진다는 말이다.

이렇게 이번에 기본적인 데이터 전송 방법에 대해서 알아봤다.

반응형
Comments