Siehe auch unseren vorherigen Post FreeRTOS Task-Queue minimales Beispiel, der auch Beispiele zum Senden & Empfangen mit einer Queue enthält. Der Post, den du gerade ansiehst, handelt nur von xQueueCreateStatic()
freertos_xqueue_static_example.cpp
enum class MQTTTaskType : uint8_t {
SendStatus = 0,
SendInfo
};
// Dieses Struct wird in die Queue eingefügt
struct MQTTTask {
MQTTTaskType task; // The type of work that is requested from the received
// TODO add your custom fields here if requred
};
constexpr size_t MQTT_TASK_QUEUE_LENGTH = 6;
static QueueHandle_t mqttTaskQueue;
static StaticQueue_t mqttTaskQueueStatic;
static uint8_t mqttTaskQueueStorageArea[ MQTT_TASK_QUEUE_LENGTH * sizeof(MQTTTask) ];
void setup() {
// Task-Queue erstellen
mqttTaskQueue = xQueueCreateStatic( MQTT_TASK_QUEUE_LENGTH,
sizeof(MQTTTask),
mqttTaskQueueStorageArea,
&mqttTaskQueueStatic );
}freertos_xqueue_static_example.cpp
enum class MQTTTaskType : uint8_t {
SendStatus = 0,
SendInfo
};
// Dieses Struct wird in die Queue eingefügt
struct MQTTTask {
MQTTTaskType task; // The type of work that is requested from the received
// TODO add your custom fields here if requred
};
constexpr size_t MQTT_TASK_QUEUE_LENGTH = 6;
static QueueHandle_t mqttTaskQueue;
static StaticQueue_t mqttTaskQueueStatic;
static uint8_t mqttTaskQueueStorageArea[ MQTT_TASK_QUEUE_LENGTH * sizeof(MQTTTask) ];
void setup() {
// Task-Queue erstellen
mqttTaskQueue = xQueueCreateStatic( MQTT_TASK_QUEUE_LENGTH,
sizeof(MQTTTask),
mqttTaskQueueStorageArea,
&mqttTaskQueueStatic );
}
Ähnliche Beiträge nach Kategorie:
C/C++ Embedded FreeRTOS PlatformIO
Wenn dieser Beitrag dir geholfen hat, erwäge, mir einen Kaffee zu spendieren oder per PayPal zu spenden, um die Recherche und Veröffentlichung neuer Beiträge auf TechOverflow zu unterstützen