文章主要介绍如何动态改变任务优先级,同时简析如何使用任务 handle。
1、头文件定义及任务创建
#include "FreeRTOS.h"
#include "task.h"
#include "supporting_functions.h"
void vTask1( void *pvParameters );
void vTask2( void *pvParameters );
// 定义任务 handle
TaskHandle_t xTask2Handle;
int main( void )
{
xTaskCreate( vTask1, "Task 1", 1000, NULL, 2, NULL );
// 传递任务 handle:xTask2Handle
xTaskCreate( vTask2, "Task 2", 1000, NULL, 1, &xTask2Handle );
// 开始调度任务
vTaskStartScheduler();
for( ;; );
return 0;
}
2、任务优先级动态配置
void vTask1( void *pvParameters )
{
UBaseType_t uxPriority;
// 获取任务优先级
uxPriority = uxTaskPriorityGet( NULL );
for( ;; )
{
vPrintString( "Task1 is running\r\