임베디드 시스템과 펌웨어

마이크로컨트롤러 타이머의 입력 캡처(input capture) 기능의 용도로 올바른 것은 무엇입니까?

  1. A화면의 이미지를 가져와 저장한다
  2. B입력 신호가 변화한 순간의 카운터 값을 기록하여 펄스의 폭이나 주파수를 정확하게 측정한다
  3. C출력 핀에서 PWM 신호를 내보낸다
정답과 해설 보기

정답: B. 입력 신호가 변화한 순간의 카운터 값을 기록하여 펄스의 폭이나 주파수를 정확하게 측정한다

입력 캡처에서는 입력 핀의 신호가 상승하거나 하강하는 순간에 타이머 카운터 값을 하드웨어가 레지스터에 복사해 둡니다. 두 번의 변화 값의 차이로 펄스의 폭이나 주기를 알 수 있습니다. 소프트웨어로 인터럽트를 받은 뒤 시각을 읽으면 처리 지연으로 오차가 생기지만, 이 방법은 지연과 관계없이 정확하게 측정할 수 있습니다. 회전수 센서나 초음파 거리계 등에서 사용됩니다.

이 분야 연습하기 분야로 돌아가기

임베디드 시스템과 펌웨어의 다른 문제

  1. 인터럽트 핸들러 안에서 피해야 할 것으로 가장 적절한 것은 무엇입니까?
  2. 위의 프로그램을 최적화를 켜고 컴파일하면 타이머 인터럽트가 발생해도 led_on()이 호출되지 않는 경우가 있습니다. 원인과 대책의 조합으로 올바른 것은 무엇입니까?
  3. 8비트 마이크로컨트롤러에서 타이머 인터럽트가 32비트 변수 ticks를 1씩 증가시키고, 메인 처리가 ticks를 읽어 경과 시간을 구하고 있습니다. 드물게 크게 어긋난 값이 읽히는 원인으로 올바른 것은 무엇입니까?
  4. UART를 이용한 시리얼 통신의 특징으로 올바른 것은 무엇입니까?
  5. 115200 bps UART에서 데이터 8비트, 패리티 없음, 스톱 비트 1(8N1) 형식으로 보낼 때, 1초 동안 보낼 수 있는 바이트 수에 가장 가까운 것은 무엇입니까?

이 분야의 비교