하강엣지 2

C언어로 상승엣지,하강엣지 기능 구현하기

안녕하세요 오늘은 C언어로 상승엣지,하강엣지 기능을 구현해보겠습니다. 그리고 C언어뿐만아니라 다른 개발환경에도 적용 할 수 있습니다 ------상승엣지------ 상승엣지란 어떤 값이 0에서 1로 변할때를 의미합니다. 위의 그림에서 빨강동그라미의 시점을 알려주는 겁니다 사용예시) 어떤 버튼을 1번 누르면 값이 1 증가하는 기능 int main() { int btn; int num; while(1) { if(btn == 1) { num++; } } } 위의 코드에서 btn변수가 버튼을 눌렸을때 변하는 변수라고 가정하고 (버튼이 안눌리면0, 버튼이 눌리면1) 유저는 버튼을 누릅니다. btn이 1이겠죠 버튼을 누르고있는 시간에따라 num이 계속 증가하게 됩니다 원래 하려고했던 버튼을 1번누르면 값이 1증가하는..

아트메가128 외부인터럽트입니다.

인터럽트란? 메인문에서 어떤 작업을 하구있을때, 갑자기 어떤 코드가 실행되는것을 말합니다. 예) 메인문에서 LED만 계속 키고있을때 버튼을 클릭하면 LED가 켜짐.(외부인터럽트) 외부인터럽트란? 쉽게말해서 외부에서 HIGH나 LOW가 들어오고 그 신호에 따라서 어떤 함수로 가서 동작하는 것입니다. 외부인터럽트는 8개가 있습니다. INT0~INT7까지있는데 INT0~INT3는 PD0~PD3을 사용하고, INT4~INT7은 PE4~PE7을 사용합니다. 외부인터럽트를 설정하는 레지스터는? 외부 인터럽트를 사용하려면 일단 허락을 받고 사용할 핀을 허락해 줘야합니다. 이런것들은 레지스터에 정의되어있는데 그 레지스터들을 알아보겠습니다. SREG레지스터의 7번비트: Global Interrupt Enable - 전역..

아트메가/이론 2016.11.25