Serial.available()

설명

직렬 포트에서 읽어들일 글자의 바이트 수를 가져옵니다. 그것은 이미 도착하여 직렬 수신 버퍼 (64 바이트를 보유)에 저장된 데이터의 수입니다.

Serial.available()Stream 유틸리티 클래스에서 상속합니다.

문법

모든 모드

Serial.available()

아두이노 메가 한정:

Serial1.available()

Serial2.available()

Serial3.available()

매개변수

  • Nothing

반환값

  • 읽어들일 문자의 바이트 수

예제 코드

예제 코드 1

int incomingByte = 0; // for incoming serial data void setup() { Serial.begin(9600); // opens serial port, sets data rate to 9600 bps } void loop() { // send data only when you receive data: if (Serial.available() > 0) { // read the incoming byte: incomingByte = Serial.read(); // prints the received data Serial.print("I received: "); Serial.println((char)incomingByte, DEC); } }
  • Type "HELLO" on Serial Monitor and click Send button:
COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • 시리얼 모니터에 결과:
COM6
Send
I received: H I received: E I received: L I received: L I received: O I received:
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

예제 코드 2

const int BUFFER_SIZE = 5; char buf[BUFFER_SIZE]; // application buffer void setup() { Serial.begin(9600); // opens serial port, sets data rate to 9600 bps } void loop() { // check if data is available int rxlen = Serial.available(); // number of bytes available in Serial buffer if (rxlen > 0) { int rlen; // number of bytes to read if (rxlen > BUFFER_SIZE) // check if the data exceeds the buffer size rlen = BUFFER_SIZE; // if yes, read BUFFER_SIZE bytes. The remaining will be read in the next time else rlen = rxlen; // read the incoming bytes: rlen = Serial.readBytes(buf, rlen); // TODO: PROCESS THE INCOMING DATA HERE } }

Arduino Mega example:

void setup() { Serial.begin(9600); Serial1.begin(9600); } void loop() { // read from port 0, send to port 1: if (Serial.available()) { int inByte = Serial.read(); Serial1.print(inByte, DEC); } // read from port 1, send to port 0: if (Serial1.available()) { int inByte = Serial1.read(); Serial.print(inByte, DEC); } }

※ 주의 및 경고:

Serial functions are not only used for the communication between an Arduino board and Serial Monitor of Arduino IDE but also used for the communication between:

  • An Arduino board and other Arduino board
  • An Arduino board and other sensors/devices
  • An Arduino board and computer (any Serial software on computer)* An Arduino board and other Arduino board
  • An Arduino board and other sensors/devices
  • An Arduino board and computer (any Serial software on computer)

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Please note: These are Amazon affiliate links. If you buy the components through these links, We will get a commission at no extra cost to you. We appreciate it.

※ OUR MESSAGES