아두이노 serialEvent 인터럽트

2019. 7. 8. 14:48드론

아두이노 프로그램 구조를 자세히 들여다보면

int main(void)

{
    init();

    initVariant();

 

#if defined(USBCON)

    USBDevice.attach();

#endif

 

    setup();

    for(;;) {

        loop();

        if(serialEvent) serialEvent();

    }

}

 

무한루프에 진입하고나서, serialEvent를 검사하게 되는데 이 부분이 AVR에서의 인터럽트라고 생각하면 된다. 따라서 loop 밖에 serialEvent라고 함수를 작성해서 정의하면 그 함수는 시리얼통신이 들어왔을 때 인터럽트로 동작된다

주의할 점은 반드시 serialEvent라는 함수로 작성되어야만 한다