소프트웨어로 "지금 몇 시지?"를 읽는 것과 결정적으로 다르다. 엣지가 들어온 그 순간의 카운터 값을 하드웨어가 붙잡아 둔다.
신호 ────┐ ┌────
└─────────┘
↑ ↑
캡처 t1 캡처 t2 → 주기 = t2 − t1
왜 폴링으로는 안 되나
인터럽트 지연과 스케줄링 때문에 소프트웨어가 읽는 시각은 실제 엣지보다 수 µs~수십 µs 늦고, 그 양이 매번 다르다(지터).
초음파 비행 시간은 1 µs 가 약 0.17 mm 다. 지터가 10 µs 면 1.7 mm 가 흔들린다. 팬 tach 주기 측정도 마찬가지다.
이 프로젝트에서 쓰이는 곳
초음파 ToF 에코 펄스의 상승·하강 엣지 → 왕복 시간
팬 tach 펄스 주기 → RPM (요구-실제 대조에 쓴다)
윈도우 홀 센서 펄스 카운트 → 위치, 위상차 → 방향
세 곳 다 시간 정밀도가 결과 정확도를 직접 결정하는 자리라 하드웨어 캡처가 필수다.