创建了两个单独的任务并打印不同的信息。
1、头文件声明
#include "FreeRTOS.h"
#include "task.h"
#include "supporting_functions.h"
// 延时
#define mainDELAY_LOOP_COUNT ( 0xffffff )
2、任务函数声明
void vTask1( void *pvParameters );
void vTask2( void *pvParameters );
3、创建任务
int main( void )
{
// 创建任务1
xTaskCreate( vTask1, /* 任务函数指针 */
"Task 1", /* 任务名:调试使用 */
1000, /* 栈深 */
NULL, /* 任务参数 */
1, /* 优先级. */
NULL ); /* 任务 handle */
// 创建任务2
xTaskCreate( vTask2, "Task 2", 1000, NULL, 1, NULL );
// 启动任务调动
vTaskStartScheduler();
for( ;; );
return 0;
}
// 任务1
void vTask1( void *pvParameters )
{
const char *pcTaskName = "Task 1 is running\r\n";
volatile uint32_t ul;
for( ;; )
{
// 打印
vPrintString( pcTaskName );
// 延时
for( ul = 0; ul < mainDELAY_LOOP_COUNT; ul++ )
{}
}
}
// 任务2
void vTask2( void *pvParameters )
{
const char *pcTaskName = "Task 2 is running\r\n";
volatile uint32_t ul;
for( ;; )
{
// 打印
vPrintString( pcTaskName );
// 延时
for( ul = 0; ul < mainDELAY_LOOP_COUNT; ul++ )
{}
}
}