Quality RTOS & Embedded Software

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


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 ]    [ Sitemap ]    [ ]

Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2016 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOSTM distribution or available on this site are the exclusive property of Real Time Engineers Ltd.. See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd.

Latest News:

FreeRTOS V9.0.0 is now available for download.

Free TCP/IP and file system demos for the RTOS

Sponsored Links

⇓ Now With No Code Size Limit! ⇓
⇑ Free Download Without Registering ⇑

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Renesas Electronics Gold Alliance RTOS Partner.jpg

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

Atmel RTOS partner supporting ARM Cortex-M3 and AVR32 microcontrollers

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

Xilinx Microblaze and Zynq partner

Silicon Labs low power RTOS partner

Altera RTOS partner for Nios II and Cortex-A9 SoC

Freescale Alliance RTOS Member supporting ARM and ColdFire microcontrollers

Infineon ARM Cortex-M microcontrollers

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

Cypress RTOS partner supporting ARM Cortex-M3

Fujitsu RTOS partner supporting ARM Cortex-M3 and FM3

Microsemi (previously Actel) RTOS partner supporting ARM Cortex-M3

Atollic Partner

IAR Partner

Keil ARM Partner

Embedded Artists