[코딩노트_스케치] 스케치 동작원리


안녕하세요.

스케치란 아두이노를 구동하는 소스를 작성하는 단위 프로그램입니다.


본 포스팅은 아두이노 스케치가 어떻게 구동되는지에 대한 간단한 내용입니다.


setup() 함수와 loop() 함수의 호출 구조를 이해하면 스케치 프로그램 작성 시 도움이 될 것 같습니다.




아두이노 IDE 환경에서 새 파일을 생성하면 다음과 같습니다.

[아두이노 스케치 빈파일 생성 화면]


스케치 프로그램을 해 보신 분이라면 위 구조에 익숙할 것 같습니다.


짧게 설명하면 void setup() 함수는 한 번만 동작하고 void loop() 함수는 반복적으로 동작합니다.



스케치를 처음 보았을 때, 당황하신 분들도 있으셨을까요?


코드 내에 반드시 있어야 하는 main() 함수가 스케치 파일에는 아무데도 보이지 않습니다.

그런데 어떻게 setup() 함수는 한 번만 동작하고 loop() 함수는 이름처럼 반복될까요?


그 이유는 다음과 같습니다.


아두이도 IDE를 PC에 설치하고 나면,


설치경로\Arduino\hardware\arduino\avr\cores\arduino 폴더 내에 main.cpp 라는 파일을 찾을 수 있습니다.


이 파일을 열어 보면 다음과 같은 코드가 있습니다.



[main.cpp 파일 코드 일부 발췌]

위에서 보시는 것처럼 main.cpp 파일 안에서 setup() 함수의 호출과 for 루프 안에서 loop() 함수가 반복적으로 호출되는 것을 알 수 있습니다.


그래서 스케이 내의 setup() 함수는 한 번만 동작하고, loop() 함수는 반복적으로 동작합니다.



이상으로 아두이노의 스케치 호출 동작에 대해 살펴 보았습니다.


만일 잘못되거나 부족한 정보는 추후 업데이트 하겠습니다.


감사합니다.