FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [September 2015 Threads]
Hello,
I wonder about the difference with 1000 and 100. If the value is 1000, it means FreeRTOS the kernel tick is 1000Hz. The time's resolution is 1ms. If the value is 100, it tick is 100HZ, The resolution is 10 ms. I set the value is 100, then use vTaskDelay(6/portTICKPERIODMS). It equals no delay. Because the resolution is 10ms. Is it correct? I want to know how to delay 1ms when I set the value is 100. Is it possbile?
Thanks
If TICKRATEHZ is 100, and thus TICKPERIODMS is 10, you can not request a delay of 1 ms, as the unit of measure on time is 10ms.
In fact, with a TICHRATEHZ of 1000, and TICKPERIODMS of 1, you can't get an exactly 1ms delay either, as a call to vTaskDelay(1) will block your task till the next tick occurs, which will be AT MOST 1ms, and likely somewhat less. If you need a delay of at least 1ms, you need to call vTaskDelay(2), which will delay at least 1ms, and up to 2ms (or longer if a higher priority task is ready at that point).
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.