임베디드 시스템과 펌웨어
16 MHz 클럭을 프리스케일러로 16분주한 것으로 타이머를 세고, 1000카운트마다 인터럽트가 발생하도록 설정했습니다. 인터럽트 간격은 얼마입니까?
- A1 µs
- B1 ms
- C16 ms
정답과 해설 보기
정답: B. 1 ms
16 MHz를 16으로 나누면 타이머 클럭은 1 MHz이고 1카운트는 1 µs입니다. 1000카운트마다이면 1 µs×1000=1 ms 간격이 됩니다. 프리스케일러는 너무 빠른 클럭을 분주하여 타이머가 셀 수 있는 범위에 맞추기 위한 것입니다. 1 ms마다의 인터럽트는 시간 관리, 스위치 읽기, RTOS의 시간 단위(틱) 등에 자주 사용됩니다.