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] Take Semaphore before starting tasksPosted by chaabanemalki on September 23, 2014 Hello,
Since I started using FreeRTOS I had this weird behavior ( or it's normal).
I create a semaphore (RxSemaphore), then i use this semaphore to block a task (Task0) with it.
And another task (task1) to give RxSemaphore.
When I run my code, Task0 takes RxSemaphore even if task1 didn't give RxSemaphore yet.
The solution I use is to take RxSemaphore (xSemaphoreTake(RxSemaphore ,0);) in the first task that will run.
Is this a normal behavior or I'm missing something ?
Take Semaphore before starting tasksPosted by rtel on September 23, 2014 That would depend on which function you were using to create the semaphore.
Regards.
Take Semaphore before starting tasksPosted by chaabanemalki on September 23, 2014 I use only vSemaphoreCreateBinary().
Thank u
Take Semaphore before starting tasksPosted by rtel on September 23, 2014
I use only vSemaphoreCreateBinary().
If you look at the vSemaphoreCreateBinary() macro you will see the
initial state for the semaphore.
Assuming you are using a recent version of FreeRTOS it is recommended to
use xSemaphoreCreateBinary() in place of vSemaphoreCreateBinary(). When
using the 'x' function rather than the 'v' macro the semaphore will not
be available until it has first been given.
Regards.
Take Semaphore before starting tasksPosted by chaabanemalki on September 23, 2014 Thank you, that clears everything
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|