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] [May 2016 Threads]
Hi, in my program, at some poin, I can't give a semaphore (mutex) because it says that the number of messages waiting is lower than the length. Both of those variables have a very weird value. What could make them go so high ? With this message I attached a screen of the condition that fails, and the value of the variables (bottom of the screen).
Thanks guys.
Hi Luc,
That looks like some corruption.
Either the value of the variable 'pxQueue' is corrupted.
And if pxQueue is still pointing to the queue object, it might be that the contents of the object has been overwritten.
How did you declare the pointer pxQueue
, as an automatic variable? Does its value change? Did you declare an object just next to it?
~~~~
char pcBuffer[64];
QueueHandle_t pxQueue;
~~~~
and overwrite the adjacent object?
Many possibilities to investigate...
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.