1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| struct sensor_t{ byte deviceID; float value1; float value2; };
QueueHandle_t queueSensor = xQueueCreate(8, sizeof(sensor_t));
sensor_t dht22Sensor; dht22Sensor.value1 = dht22.temperature; dht22Sensor.value2 = dht22.humidity;
if (xQueueSend(queueSensor, &dht22Sensor, timeOut) != pdPASS) { Serial.println("DHT22: Queue is full."); }
sensor_t data; if (xQueueReceive(queueSensor, &data, timeOut) == pdPASS) { Serial.println(data.value1); Serial.println(data.value2); }
|