how to manage queue and semaphore

ephobb wrote on Monday, December 28, 2015:

hi,
I m bit confused while implementing queue and semaphore. my scenario is as follows.
I have three task. Two are from same prioirity and one is having higher prioirity. I want to send data from three task to queue.
i will receive the data from queue to fourth task, where i will send data to LCD. I can’t understand how to manage the queue.

xQueueHandle lcd_queue=0;

lcd_queue = xQueueCreate(20,sizeof(uint8_t));

xcreate(task1,“T1”,NULL,1,NULL);
xcreate(task2,“T2”,NULL,1,NULL);
xcreate(task3,“T3”,NULL,2,NULL);
xcreate(Send_lcd,“LCD”,NULL,1,NULL); // This task will send data to LCD and receive the data from queue.

edwards3 wrote on Monday, December 28, 2015:

Use xQueueSendToBack() to send to the queue and xQueueReceive() to receive from the queue. No need for a semaphore.
http://www.freertos.org/xQueueSendToBack.html
http://www.freertos.org/a00118.html