Quality RTOS & Embedded Software

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


Resume task from interrupt and end vTaskDelay

Posted by mayank15 on September 8, 2014

I am running FreeRTOS on STM32-Eval board. I create a task and call vTaskDelay(x) at the end to have the task block for x number of ticks and have the board enter sleep state.

Is there a way to resume the task when an interrupt triggers or it just has to wait until the block time has expired?

I cannot call vTaskSuspend because i do want the task to run on its own after x number of ticks as well. I want the interrupt as a way to wake the device earlier and resume normal operation.


Resume task from interrupt and end vTaskDelay

Posted by davedoors on September 8, 2014

Create a semaphore then replace the call to vTaskDelay() with a call to xSemaphoreTake() with the same block time. The interrupt can unblock the task by giving the semaphore, and the task will know if it was unblocked by an interrupt or by the delay expiring by testing the return value of xSemaphoreTake(). Here is an example (at the bottom) http://www.freertos.org/a00124.html

Resume task from interrupt and end vTaskDelay

Posted by mayank15 on September 8, 2014

Great i will take a look Thanks

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

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

Latest News

Meet Richard Barry and learn what's new in the FreeRTOS project at Embedded World 2019

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