FreeRTOS: Task ("Thread") zu einem PlatformIO-Projekt hinzufügen
English
Deutsch
Die meisten PlatformIO-Standardkonfigurationen haben FreeRTOS bereits aktiviert – es wird nur nicht genutzt.
Um einen neuen FreeRTOS-“Thread” (in FreeRTOS-Terminologie Task genannt) zu starten, füge zunächst diese Includes hinzu:
freertos_includes.cpp
#include <freertos/FreeRTOS.h>
#include <freertos/task.h>Füge nun die Task-Funktion und das Handle hinzu:
freertos_task_function.cpp
TaskHandle_t myTaskHandle;
void MyTask( void * parameter )
{
for(;;)
{
// TODO Task-Code kommt hier rein
}
// falls die Schleife jemals verlassen wird, dient dies der Ressourcenbereinigung
vTaskDelete( NULL );
}Starte den Task dann mit diesem Code einmal, z.B. in der main-Funktion:
freertos_xTaskCreate_example.cpp
// MyTask-Thread starten
xTaskCreate(
MyTask, // Task-Funktion
"MyTask", // Name
10000, // Stack-Größe
NULL, // Parameter
1, // Priorität
&myTaskHandle);Siehe auch unseren Beitrag zur Verwendung von xTaskCreateStatic() für statisch statt dynamisch allozierten Stack-Speicher für den Task: FreeRTOS-Task mit statischem Stack-Speicher (xTaskCreateStatic) Beispiel
Check out similar posts by category:
C/C++, Electronics, 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