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 2014 Threads]
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.
Thanks
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
Great i will take a look
Thanks
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.