Arduino / / 2022. 5. 11. 23:34

[PlatformIO] 아두이노 Serial print()와 write()

728x90

해당 게시물에서는 VS Code PlatformIO를 사용합니다. 참고바랍니다.

 

안녕하세요 데브구일입니다!

 

아두이노 Serial에서는 출력할 수 있는 함수가 두 가지가 있습니다.

두 함수 모두 시리얼 데이터를 출력하는 함수인 점은 동일하지만 조금 다른 점이 있습니다.

 

우선 코드를 업로드 하고 살펴 보겠습니다.

 

#include <Arduino.h> // PlatformIO를 사용하시는게 아니라면 이 라인은 지워주세요!

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

void loop() {
  Serial.print("Serial print() : ");
  Serial.println(65);

  Serial.print("Serial write() : ");
  Serial.write(65);
  Serial.println("");
  
  while(1);
}

 

코드를 작성하시고, 시리얼을 연결해보시면 다음과 같은 결과를 보실 수 있습니다.

Serial print()는 65가 출력되었고, Serial write()는 A가 출력되었습니다.

 

같은 숫자 65를 출력하고자 하였는데 서로 다른 값을 출력하였는데요.

이 부분에 대해 알아보겠습니다.

반응형

 

 

아래 그림을 참고하면서 설명하도록 하겠습니다.

그리고 필요하시면 아스키코드표는 아래 포스팅을 참고하시면 되겠습니다!

 

 

아스키코드 (ASCII)

안녕하세요 데브구일입니다! 이전 블로그에 올렸었던 아스키코드를 그대로 가져왔습니다! 한번 만들어 뒀더니 저도 필요할때 따로 검색안하고 북마크해서 써보니 편하더라구요!

dev91.tistory.com

 

 

먼저 Serial.print()의 경우 아래 그림과 같이 숫자를 입력하게되면,

숫자를 각각 아스키코드 문자 2진수로 변환 후, 다시 아스키 코드로 변환하여 시리얼에 출력하게됩니다.

Serial.print(65);     --------->     출력값 65

Serial.write()의 경우 아래 그림과 같이 숫자를 입력하게되면,

바로 아스키코드로 변환하여 시리얼에 출력하게됩니다.

Serial.write(65);     --------->      출력값 A

 

생각보다 간단하지요 :D

 

이번 포스팅은 여기서 마치고,

다음 포스팅에서 시리얼을 통해 데이터를 입력하는 방법을 알아보겠습니다.

 

감사합니다 :D

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유