Quality RTOS & Embedded Software

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


Checking xTimerIsTimerActive after xTimerStart

Posted by ptaylor-us on November 5, 2015

I think I already know the answer to this, but need to verify. I think since calling xTimerStart returns after adding a command to the timer command queue, I can't immediately call xTimerIsTimerActive and expect a pdTRUE return. I am trying to use a Timer for a timeout while waiting for an ACK on a serial interface. I would like to not have to implement a callback function which simply sets a global "timeout" flag. Anyone come up with a smoother way of doing this?

Checking xTimerIsTimerActive after xTimerStart

Posted by rtel on November 6, 2015

Just looking at the implementation of xTimerIsTimerActive(), I think you are right. The function checks to see if the timer is in the active timer list, so if the start command is in the timer command queue, then it will not be in the active list (yet, unless it was already running), and xTimerIsTimerActive() will return false.

If the priority of the timer task is higher than the priority of the task starting the timer, then you will not get this problem as, as soon as the command goes into the command queue, the timer task will leave the Blocked state, pre-empt the task that posted the command, and process the command, before the function that started the timer even returns.


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

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

Latest News

NXP tweet showing LPC5500 (ARMv8-M Cortex-M33) running FreeRTOS.

Version 10.1.1 of the FreeRTOS kernel is available for immediate download. MIT licensed.

View a recording of the "OTA Update Security and Reliability" webinar, presented by TI and AWS.


FreeRTOS and other embedded software careers at AWS.

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Espressif ESP32

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

Xilinx Microblaze and Zynq partner