티스토리 뷰

참조: https://www.arduino.cc/en/Reference/Serial


 Serial


아두이노와 컴퓨터 혹은 다른 디바이스간의 통신을 위해 사용한다.모든 아두니오 보드는 적어도 하나이상의 시리얼 포트를 가진다(UART 혹은 USART라고 알려진). 이는 USB를 통해 컴퓨터와 통신할 뿐만 아니라, 디지털 핀 0(RX)와 1(TX)으로 통신한다. 따라서, 만약 당신이 이 함수들을 사용한다면, 당신은 핀 0과 1을 디지털 입력, 출력으로 사용할 수 없다.




  • begin() : 시리얼 데이터 통신을 위한 1초당 비트인 보 레이트을 설정한다. (시리얼 통신 초기화) 컴퓨터와 통신하기 위해서, 다음의 비율 중 하나를 사용한다.: 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200. 그러나, 당신은 다른 비율을 기입할 수도 있다. 예를 들어, 특별한 보레이트가 필요한 컴포넌트와 핀 0, 1을 통해 통신하고자 할 때 다른 비율을 기입한다.

Syntax: Serial.begin(speed)
   Serial.begin(speed, config)

*baud rate[보 레이트]: 데이터 통신에서 직렬 전송의 변조 속도를 1초간에 전송되는 신호의 수로 나타낸 값을 말한다.



  • available() : 시리얼 포트로 부터 읽기 위한 가능한 바이트 수를 얻는다. 이것은 이미 도착한 데이터이며, Serial receive buffer(64 바이트를 홀딩하는)에 저장된 데이터이다. available() 함수는 Stream 유틸리티 클래스를 상속한다.

    • Syntax: Serial.available()
    • 리턴 값: 읽기가 가능한 바이트의 수 


  •  - print(): 사람이 읽을 수 있는 아스키 텍스트로 시리얼 포트에 데이터를 출력한다. 이 커맨드는 다양한 형식을 취할 수 있다. 정수는 각각의 슷지기 아스키 코드를 사용하여 출력되어진다. 실수는 두개의 데시멀 위치를 정의하면서 아스키 숫자로써 유사하게 출력된다. 문자와 문자열은 있는 그대로 보내진다.

    • Syntax: Serial.print(val)



 - read() : 들어오는 시리얼 데이터를 읽는다. Stream 유틸리티 클래스를 상속한다.


    • Syntax: Serial.read()
    • 리턴 값: (int 형) 들어오는 데이터가 있다면, 들어오는 데이터의 첫번째 바이트(이용가능한 데이터가 없다면 -1 반환)



  •  - peek() : 내부의 시리얼 버퍼로부터 들어오는 시리얼 데이터의 다음 바이트를 제거하지않은채로 리턴한다. 성공적인 peek() 함수의 호출은 read()함수의 그다음 호출 처럼 같은 character를 반환한다. peek()은 Stream 유틸리티 클래스를 상속한다.

    • Syntax: Serial.peek()
    • 반환값: (int 형): 이용가능한 들어오는 데이터의 첫번째 바이트를 반환한다.(이용가능한 데이터가 없다면 -1을 반환한다.)


*Serial.read()와 Serial.peek()의 차이점

-Serial.read()가 버퍼를 읽을때는 무조건 한바이트씩 읽는다. 그리고 읽은 바이트는 제거 된다.

-Serial.peek()는 읽은 바이트를 제거하지 않는다.

->읽으면서 loop()가 계속돌며 나머지 버퍼를 읽는다.














댓글
댓글쓰기 폼
공지사항
Total
92,889
Today
10
Yesterday
13
«   2019/04   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
글 보관함