FreeRTOS Mutex-Minimalbeispiel
English
Deutsch
So erstellen und verwenden Sie einen Mutex in FreeRTOS:
Includes:
freertos_includes.h
#include <freertos/semphr.h>Globale Deklaration
freertos_globals.cpp
SemaphoreHandle_t myMutex;Initialisierungscode
Rufen Sie dies einmal auf, bevor Sie es verwenden:
freertos_init.cpp
myMutex = xSemaphoreCreateMutex();Mutex sperren & entsperren
freertos_mutex_usage.cpp
// Maximal 10ms auf das Sperren des Mutex warten
if(xSemaphoreTake(myMutex, 10 / portTICK_PERIOD_MS) == pdTRUE) {
// Mutex erfolgreich gesperrt
// TODO: Ihr Code kommt hier rein!
// Mutex entsperren!
xSemaphoreGive(myMutex);
} else {
// Mutex konnte nicht innerhalb des Timeouts gesperrt werden
// NICHT die durch den Mutex geschützte Ressource verwenden
// NICHT entsperren (xSemaphoreGive)!
}Check out similar posts by category:
Embedded, FreeRTOS, PlatformIO
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow