본문 바로가기
HW 프로그래밍/아두이노

아두이노끼리 시리얼 통신(tx,rx) Serial.write()

by N2info 2020. 3. 20.

아두이노의 Serial.write() 함수는  Serial 포트에 하나의 바이트 또는 그 이상의 바이트를 전송하는데 사용합니다. 주로 데이터 통신을 구현할 때 사용되며 Serial.print() 함수와 구분되어 사용합니다.

Serial.write() 함수는 숫자를 전송할 때 숫자 있는 그대로 전송합니다. 이는 숫자를 ASCII 코드로 변환하여 전송하는 Serial.print() 함수와 구분되며 일부 매개변수 입력에도 차이가 있습니다.

Serial.write()

Serial.write(val);
Serial.write(str);
Serial.write(buf, len);

매개변수(Parameters)
val : 1 바이트 데이터(0x00 ~ 0xFF)
str : 문자열(ex ‘A’, “Hello”)
buf : byte형 배열에 저장된 데이터, len 만큼 바이트 전송

반환값(Return)
size_t: write() : 전송한 byte 수

byte buff[10] = { 64, 'A', 0x42, 67, 68, 69, 70, 71, 72, 73};
 
void setup() {
  Serial.begin(115200);
}
 
void loop() {
  Serial.write(64);
  Serial.write("abc");
  Serial.write(buff, 5);
  Serial.println(" ");
  delay(1000);
}

<64> → ‘@’
“abc” → “abc”
<36> → ‘$’
‘A’ → ‘A’
<0x42> → ‘B’
<67> → ‘C’
<68> → ‘D’

출처 : http://www.iamamaker.kr/ko/tutorials/arduino/%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8-%EB%A0%88%ED%8D%BC%EB%9F%B0%EC%8A%A4-serial-write-%ED%95%A8%EC%88%98/