Page 55 - 최강 아두이노 퍼스트 참고서
P. 55
serialEvent 함수
아두이노에서는 setup() 함수와 loop() 함수와 더불어 예약된 함수 serialEvent()라는 함수가 있
습니다.
serialEvent 함수는 하드웨어 시리얼 통신 RX/TX 포트에 데이터 신호가 있는 경우에 발생되
는 콜백(CallBack) 제공 함수입니다. 콜백함수란 어떠한 정보(또는 이벤트)를 관리하는 프로
세스에서 정보가 변경, 또는 이벤트 발생할 때 외부에서 관여하여 처리할 수 있도록 제공하는
함수입니다.
>> 시리얼 이벤트 함수 예제
시리얼 포트로부터 받은 문자를 비교하여 “1” 인 경우에는 LED 를 ON, “0” 일 때는 OFF 하
는 예제입니다.
D0(RX), D1(TX) 하드웨어 시리얼 포트에 데이터가 있을 경우에 호출되는 콜백 이벤트 함수
입니다.
내부적으로 시리얼 포트로의 입/출력이 있는 경우 호출되는 인터럽트 함수입니다.
void serialEvent()
{
//statements
}
예제코드) 시리얼 포트 입력에 의한 LED 켜고/끄기 예제
void setup() {
// put your setup code here, to run once: Serial.begin(9600);
Serial.begin(9600);
pinMode(13,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
}
void serialEvent() // 시리얼 통신 예약된 함수.
{
int read_byte =Serial.read();
Serial.println(read_byte);
if(read_byte=='1')
{
digitalWrite(13,HIGH);
Serial.println("LED ON");
55