cancel
Showing results for 
Search instead for 
Did you mean: 

FreeRTOS Signals issues (any vs all signals)

kevin2399
Associate III
Posted on March 28, 2016 at 23:46

I am trying to use the CMSIS interface to FreeRTOS that is generated by the Cube application.  Specifically, I am trying to use the osSignalWait, osSignalSet, and osSignalClear functions.

Problem 1: osSignalClear is only defined as a function prototype. There is no code for it.

Problem 2: My understanding from reading about osSignalWait is that if there are signal events returned, it will always clear them all automatically.  If you want to wait on ANY signal instead of all of the defined signals, you pass 0 in for the signals parameter, e.g. osSignalWait (0, osWaitForever).

What I am seeing is that the reported signals are not being cleared.  Is this the correct behavior for this function?  
10 REPLIES 10
Walid FTITI_O
Senior II
Posted on April 13, 2016 at 13:35

Hi wired,

I think in that case, you should use semaphore to wait for new input. osSignalWait is dedicated to wait spesific signal(s) that should be mentioned as function parameters.

To get more details about semaphore use , refer to ''FreeRtos_Semaphore'' example at this path : stm32cubef7\STM32Cube_FW_F7_V1.3.0\Projects\STM32756G_EVAL\Applications\FreeRTOS\FreeRTOS_Semaphore

-Hannibal-