FreeRTOS - RTOS FundamentalsIn a FreeRTOS system, you want to ensure a task runs exactly every 10 ms without delay accumulation. Which method is best?AUse vTaskDelayUntil with a fixed last wake timeBUse vTaskDelay with 10 ms each timeCUse a busy-wait loop for 10 msDUse vTaskSuspend and vTaskResume every 10 msCheck Answer
Step-by-Step SolutionSolution:Step 1: Understand delay functionsvTaskDelay causes delay relative to current time, which can accumulate errors.Step 2: Use vTaskDelayUntil for fixed periodic timingvTaskDelayUntil uses last wake time to maintain exact periodicity without drift.Final Answer:Use vTaskDelayUntil with a fixed last wake time -> Option AQuick Check:vTaskDelayUntil for precise periodic tasks [OK]Quick Trick: vTaskDelayUntil avoids timing drift [OK]Common Mistakes:Using vTaskDelay causing driftBusy-wait wastes CPUSuspending/resuming is inefficient
Master "RTOS Fundamentals" in FreeRTOS9 interactive learning modes - each teaches the same concept differentlyLearnWhyDeepVisualTryChallengeProjectRecallTime
More FreeRTOS Quizzes RTOS Fundamentals - FreeRTOS architecture overview - Quiz 2easy RTOS Fundamentals - Hard real-time vs soft real-time - Quiz 1easy RTOS Fundamentals - What is an RTOS - Quiz 11easy Task Creation and Management - Multiple tasks running concurrently - Quiz 14medium Task Creation and Management - vTaskDelete() for task removal - Quiz 4medium Task Creation and Management - Stack size allocation - Quiz 1easy Task Creation and Management - Multiple tasks running concurrently - Quiz 4medium Task Priorities - Choosing priorities for real applications - Quiz 7medium Task Scheduling - Time-slicing for equal priority tasks - Quiz 7medium Task Scheduling - Preemptive scheduling behavior - Quiz 1easy