외부 인터럽트는 설정하는 방법
INT0번을 FALLING EDGE방식으로 설정
/*
MCUCR = (0 << ISC00) | (1 << ISC01);
GIMSK = (1 << INT0);
*/
추가적으로 스위치를 이용하여 테스트 하는 경우에는 채터링을 방지하기 위한 방법을 하드웨어적으로 처리하는게 좋음.
(물론 타이머 인터럽트를 사용하면 또다른 이야기지만...)
저의 경우는 1uF or 100nF 커패시터를 버튼 양단에 달아주고 채터링을 어느정도 해결하였습니다.
반응형
'b. 임베디드 > AVR' 카테고리의 다른 글
[ATtiny1616] 40W BLDC Motor 제어 (2) | 2021.06.23 |
---|---|
[경험담] ATmega 포트 Tri-state (Hi-Z상태) (0) | 2019.08.08 |
[ATmega328] WS2812B RGB 타이밍 및 동작 (1) | 2019.01.04 |
[ATtiny2313A] 외부인터럽트 (길게누르기, 짧게누르기) (0) | 2018.11.18 |
[ATtiny2313A] BUTTON 예제 (0) | 2018.11.16 |
[ATtiny2313A] Blink 예제 (0) | 2018.11.16 |
[ATmega328] Nokia 5110 LCD (GLCD) bmp파일 출력하기 (0) | 2018.08.18 |
[ATmega328] Nokia 5110 LCD (GLCD) 문자 출력하기 (0) | 2018.08.04 |