INNO's Project/MicroMouse
2808 QEP 초기화
innosian
2007. 8. 1. 02:01
제작중인 마우스가 가끔씩 폭주를 하는 현상이 있었다.
특정한 상황에서 발생하는 문제가 아닌지라 어떻게 해결을 해야하나 참 막막하던 찰라에
선응이 블로그를 보고 혹시 나도?
제어기 루틴을 보면 QEP 의 카운터 레지스터 값을 읽고 초기화를 해주는 부분이 있는데
EQep1Regs.QEPCTL.bit.SWI = 1; // Software initialization of position counter
처음 개발당시 위와 같은 명령어를 사용하다가 직관적이지 못하다 싶어서
EQep1Regs.QPOSCNT = 0;
과 같이 초기화를 해주는 방법을 사용하고 있었다. 하지만 버그가 있는 모양이다.
아주 안되는 것도 아니고 가끔식 문제를 일으키니 사람 환장할 수 밖에...
초기화 명령를 사용함으로써 간헐적으로 폭주하는 증상을 해결하였다.
참 고마운일이 아닐수 없다.