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] [February 2012 Threads] What to do to get round the lack of events?Posted by Paul Coleman on February 28, 2012 The other day I had a situation where events would have made my life easier... I wanted to wait for three separate threads to reach a particular state before I continued. I didn't know what order the threads would occur in and it could be different each time. Being new to FreeRTOS I started looking in the manual for the section on events only to find that it doesn't support them. So I got round it by using a counting semaphore which the main thread takes three times, then in each of the other three threads I give the semaphore once. Only when the semaphore has been given three times will the main thread continue. This solved my problem but I was wondering if there was a better way I could have achieved this?
Thanks, Paul.
RE: What to do to get round the lack of events?Posted by Richard Damon on February 28, 2012 There normally is nothing wrong in waiting first for thread1, then thread2, then thread3. If thread3 finishes first, it just says that the wait for it will return immediately.
RE: What to do to get round the lack of events?Posted by Paul Coleman on February 29, 2012 Yes that's a fair point but it just seemed easier to create one counting semaphore rather than three binary ones. Less resources and less to keep track of :o)
Paul.
RE: What to do to get round the lack of events?Posted by Richard Damon on February 29, 2012 As long as you have other synchronizations going so task1 can't give the semaphore twice before task3 gives it once!
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|