Hardware/Arduino

Arduino로 시리얼통신

초인로크 2014. 4. 11. 10:51
반응형

1.Serial.print()

아두이노를 이용해서 시리얼통신을 할경우 사용할수 있는 함수의 선택지에는 print와 write가 있다.

소스의 출력결과를 알기쉽게 하기위해 여기서는 print 뒤에 ln을 추가해 주었다.

차이점은 줄바꿈을 자동으로 처리해 준다는 점이다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}
 
void loop() {
  // put your main code here, to run repeatedly:
  Serial.println(333); //괄호안의 내용을 그대로 송신
  Serial.println(0.333); //소수점은 아래 두자리까지 송신
  Serial.println('R'); //문자그대로 송신
  Serial.println("Good Day"); //문자열 그대로
  Serial.println(333,BIN); //333에 대한 2진수 송신
  Serial.println(333,OCT); //333에 대한 8진수 송신
  Serial.println(333,DEC); //333에 대한 10진수 송신
  Serial.println(333,HEX); //333에 대한 16진수 송신
  Serial.println(3.33,1); //3.33을 소수점 첫째자리까지 송신
  Serial.println(F("Hello World")); // 플래쉬메모리상의 문자열을 송신
  
  delay(1000);
 
}


위의 소스에 대한 실행결과는 아래와 같다.



Serial.print()에 관한 아두이노 레퍼런스 참조(클릭)


2.Serial.write()

바이너리데이터를 시리얼포트로 쓰는 기능을 가지고 있다.

1바이트씩 송신되어지는데, 수치를 문자로 보내고 싶을때는 Serial.print를 사용해야한다.


1
2
3
4
5
6
7
8
9
10
11
12
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}
 
void loop() {
  // put your main code here, to run repeatedly:
  Serial.write("abcde"); //괄호안의 내용을 그대로 송신
 
  delay(1000);
 
}



위의 소스에 대한 실행결과는 아래와 같다.




Serial.write()에 관한 아두이노 레퍼런스 참조(클릭)



반응형