How to ‘reset’ counting semaphore?
Hello people,
is there any way to set inital count of counting semaphore after the semaphore is created? If I create semaphore like this xSemaphore = xSemaphoreCreateCounting( 10, 0 ), after some time I would like to put semaphore current value to 0 again.
I was thinking to go with for loop uxSemaphoreGetCount times, and do xSemaphoreTake in each iteration, but this function (…GetCount) is not present in v8.2.3 that I am using right now.
Regards
How to ‘reset’ counting semaphore?
You could do xSemaphoreTake() with a timeout of 0 until it fails.
How to ‘reset’ counting semaphore?
That’s nice idea. Thanks!
How to ‘reset’ counting semaphore?
You can probably use xQueueReset()
too – you might have to cast the semaphore handle to a queue handle when
passing in the parameter to avoid compiler warnings.
How to ‘reset’ counting semaphore?
Yes, xQueueReset() works as well. Cast doesn’t seem to be needed.