Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT




Loading

The difference configTICK_RATE_HE between 1000 and 100

Posted by hmtsai on September 20, 2015

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


The difference configTICK_RATE_HE between 1000 and 100

Posted by richard_damon on September 20, 2015

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).


[ Back to the top ]    [ About FreeRTOS ]    [ Sitemap ]    [ ]




Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS kernel V10 is available for immediate download. Now MIT licensed.


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS