채터링1 [C언어/API] 버튼 입력 채터링 관련한 팁 펌웨어나 GPIO 관련한 프로그램을 짤 때, 스위치나 버튼 관련된 입력이 생각보다 힘든 부분이 있다. 출력은 한 번만 하면 되지만, 사용자의 입력을 받는 입력은 노이즈가 튈 가능성이 있기 때문이다. (빠르게 누르고 땐다거나, 마구 누르거나 보드 자체 노이즈가 들어가거나...) 그래서 입력을 처리할 때는 채터링 또는 디바운스라해서 단순히 한 번만 핀/포트 읽는 것으로 처리하지 않고 수차례 읽어서 처리하곤 한다. for(cnt=0,i=0;i 7) BUTTON_IN = 1; else BUTTON_IN = 0; 보통 위와 같이 심플하게 여러 번 읽어서 처리하는데, 이는 제품마다 편차가 있을 수도 있어서 튜닝을 해야 하는 코드이다. 또, 입력이 여러 개인 경우, 그만큼 처리가 복잡해지기도 한다. 내가 작업했던 어.. 2021. 8. 1. 이전 1 다음