해결된 질문
작성
·
31
·
수정됨
1
안녕하세요.
초보적인 질문 일 수가 있는데.. 동작이 잘 이해가 되지 않아서 질문 드립니다.
스위치 동작 Falling Edge에서만 인터럽트가 발생되는 코드로 버튼을 누르면 하드웨어 적으로 LOW되고 Falling 인터럽트가 발생되서 LED가 off 되는건 이해가 됩니다만, 버튼을 안누르면 하드웨어 적으로 High가 되지만 인터럽트는 발생이 안되서 LED의 상태는 유지 되어야 하는거 아닌가요?
즉, 지금의 동작은 누르면 LED OFF, 때면 LED ON 동작인데.
동작이 Falling에서만 인터럽트가 발생되서, 누를때만 ON됐다가 다시 누르면OFF 됐다가하는 동작이 되어야 하는게 아닌가 궁금합니다.
답변 1
0
음.. 현재 LED를 On/Off하는 코드는 스위치 입력이 들어올 때마다 On/Off가 반복되도록 실습 코드가 작성되어있습니다. 현재 스위치 입력 GPIO랑 LED에 연결된 GPIO는 다른 핀입니다.
질문해주신 "버튼을 안누르면 하드웨어 적으로 High가 되지만 인터럽트는 발생이 안되서 LED의 상태는 유지 되어야 하는거 아닌가요?" 이 부분이 잘 이해가 가질 않는데, 버튼을 안누르면 스위치 Input Pin이 High인거고 LED에 연결된 GPIO는 다른 핀입니다.!
추가 질문 해주시면 답변 드리겠습니다.
키트를 통해서 실습을 하고있는데. 현재 스위치 인터럽트파트에서 동작.
스위치는 누르면 LED가 OFF, 누르고있던 스위치를 때면 LED가 ON됩니다.
코드상 인터럽트는 Falling edge 즉, LOW떨어질때(스위치 눌림)만 발생하여,
스위치를 누르면 LED가 OFF되고 누르고있던 스위치를 때도 LED가 OFF상태로 유지되어야 하고, 다시 스위치를 누르면 LED가 ON되고 이런 방식이 되어야 하는게 아닌가 해서요.
누르고있던 스위치를 때도(High) 왜 인터럽트 루틴을 들어가는지 이해가 잘 안됩니다.