보통 SysTick 인터럽트로 만들고, 1ms 가 관행이다.
vTaskDelay(pdMS_TO_TICKS(10)); /* 10ms — 실제로는 틱 단위로 반올림된다 */
해상도의 트레이드오프
틱을 짧게 (0.1ms) 시간 분해능이 좋다 · 인터럽트 오버헤드가 커진다
틱을 길게 (10ms) 오버헤드가 작다 · 지연이 그만큼 거칠어진다
흔한 오해
vTaskDelay(1) 이 정확히 1ms 를 뜻하지 않는다. 지금이 틱 경계 직전이면 거의 0에 가깝고,
직후면 1틱을 꽉 채운다. 정확한 주기가 필요하면 절대 시간 기준 대기(vTaskDelayUntil 계열)를 쓴다.
틱리스 모드
저전력 설계에서는 틱 인터럽트가 CPU 를 계속 깨워 전류를 먹는다. 그래서 다음 깨어날 시각까지 타이머를 한 번에 설정하고 자는 틱리스 모드를 쓴다.