nigel-m wrote on Thursday, July 05, 2018:
I’m trying to create a queue to communicate between 2 tasks, But passing a pointer to a task seems to crash it.
The following code seems to work fine.
QueueHandle_t queue = xQueueCreate(10, sizeof(int);
if( uxQueueMessagesWaiting(queue) ) {
// a message
} else {
// no message
}
But having a pointer seems to let my program crash.
QueueHandle_t queue = xQueueCreate(10, sizeof(int);
QueueHandle_t *pqueue = &queue;
if( uxQueueMessagesWaiting(pqueue) ) {
// a message
} else {
// no message
}
which is the same as passing it to a task using pvparameters.
void Thread(void *pvParameters)
{
QueueHandle_t *handle = (QueueHandle_t*)pvParameters;
if( uxQueueMessagesWaiting(handle) ) {
What am i doing wrong, comparing my code to examples I dont see any strange difference.