Page 73 - 최강 아두이노 퍼스트 참고서
P. 73
기능, 리셋 기능, 외부포트 인터럽트와 UART(시리얼포트) 인터럽트가 있다고 보면 됩니다.
아두이노 보드를 사용한 프로젝트에서는 거의 인터럽트는 사용하지 않아도 됩니다. 아두이
노 프로그래밍에서는 대부분 사용하지 않아도 됩니다. 인터럽트를 사용하지 않고도 프로젝트
의 대부분은 구현 가능하도록 되어 있습니다.
하지만, 조금 더 정밀한 타이밍을 요구하는 프로젝트일 경우에는 인터럽트를 사용할 수 있습
니다.
외부 인터럽트 사용
아두이노 우노 R3 의 MCU(ATmega328p-pu)에서는 하드웨어 인터럽트 포트(핀) 2 개 지원 됩
니다. 해당 포트는 아두이노 포트의 D2, D3 포트를 사용하여 처리할 수 있 습니다. 사용하기
위한 함수도 지원합니다.
즉, 지정된 포트의 신호 레벨이 변경될 때마다, 변경 상황에 맞게 함수를 처리할 수 있습니다.
attachInterrupt(), detachInterrupt() 함수입니다.
D2 포트는 인터럽트 0 번, D3 포트는 인터럽트 1 번으로 명명 되어 있습니다.
자세한 세부 설명은 아두이노에서의 인터럽트에 대한 자세한 정보는 아래의 주소에 있습니
다.
http://playground.arduino.cc/Code/Interrupts
외부 인터럽트 작동 발생시, 함수를 등록하여 처리할 수 있습니다. 등록과 해제 함수 가 지원
됩니다.
3.14.7.1 attachInterrupt (interrupt, ISR, mode)
인터럽트 등록 함수입니다.
interrupt: 인터럽트 포트 번호입니다.
2 개가 있으므로, D2 포트 사용하는 경우 0 을, D3 포트 사용 하려면 1 을 사용합니다.
ISR: 인터럽트 서비스 루틴(Interrupt Service Routine) 함수 명칭을 등록합니다.
Mode: 해당 인터럽트로 지정된 하드웨어 포트의 신호 이벤트 경우를 기입할 수 있습니다.
하드웨어 포트의 신호 이벤트는 LOW, CHANGE, RISING, FALLING, HIGH(아두이노 두에
보드 전용) 사용될 수 있습니다. 필요한 포트의 Mode 에 따라 여러 가지 ISR 함수를 등록하여
처리할 수 있습니다.
73