QueueHandle_t queue;
int queueSize = 10;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
delay(2000);
queue = xQueueCreate(10, sizeof(int));
if(queue == NULL) {Serial.println("Error creating the queue");}
xTaskCreate(producerTask, "Producer", 10000, NULL, 1, NULL);
xTaskCreate(consumerTask, "Consumer", 10000, NULL, 1, NULL);
}
void loop() {
Serial.println("\Boucle loop");
delay(6000);
}
void producerTask(void* parameter)
{
for(int i=0; i < queueSize; i++) {
xQueueSend(queue, &i, portMAX_DELAY);
}
vTaskDelete(NULL);
}
void consumerTask(void* parameter)
{
int element;
for(int i=0; i < queueSize; i++) {
xQueueReceive(queue, &element, portMAX_DELAY);
Serial.print(element);
Serial.print("|");
}
vTaskDelete(NULL);
}