Většina výchozích konfigurací PlatformIO již má FreeRTOS povolený - prostě ho nepoužívají.
Pro spuštění nového FreeRTOS “threadu” (nazývaného task v FreeRTOS terminologii), nejprve přidejte tyto include:
freertos_includes.cpp
#include <freertos/FreeRTOS.h>
#include <freertos/task.h>Nyní přidejte funkci tasku a handle:
freertos_task_function.cpp
TaskHandle_t myTaskHandle;
void MyTask( void * parameter )
{
for(;;)
{
// TODO Task code goes here
}
// if you ever exit the loop, this is here to clean up the resources
vTaskDelete( NULL );
}poté spusťte task pomocí tohoto kódu jednou, například ve vaší funkci main:
freertos_xTaskCreate_example.cpp
// Start MyTask thread
xTaskCreate(
MyTask, // Task function
"MyTask", // Name
10000, // Stack size
NULL, // Parameter
1, // Priority
&myTaskHandle);Viz také náš nový příspěvek o tom, jak použít xTaskCreateStatic() pro použití staticky alokované místo dynamicky alokované paměti zásobníku pro task: FreeRTOS task se statickou pamětí zásobníku (xTaskCreateStatic) příklad
Podívejte se na podobné články podle kategorie:
C/C++ Elektronika Embedded FreeRTOS PlatformIO
Pokud vám tento článek pomohl, zvažte, zda mi nekoupíte kávu nebo nepřispějete přes PayPal na podporu výzkumu a publikování nových článků na TechOverflow