/*任务优先级的显示UBaseType_t uxTaskPriorityGet(TaskHandle_t );的使用,
任务优先级的设置void uxTaskPrioritySet(TaskHandle_t,UBaseType_t uxNewPriority);的使用 */
TaskHandle_t Task1_handle;//任务句柄
TaskHandle_t Task2_handle;//任务句柄
UBaseType_t priority; //定义UBaseType_t类型变量,用于接受显示优先级函数uxTaskPriorityGet()的返回值
void Task1(void *pvParam) {
while (1) {
priority = uxTaskPriorityGet(Task1_handle);//显示任务优先级函数返回UBaseType_t类型数据
Serial.print("Task1's priority is :");
Serial.println(priority);
vTaskDelay(2000);
}
}
void Task2(void *pvParam) {
vTaskPrioritySet(Task1_handle, 3);
while (1) {
//priority = uxTaskPriorityGet(Task2_handle);
priority = uxTaskPriorityGet(NULL);
Serial.print("Task2's priority is :");
Serial.println(priority);
vTaskDelay(2000);
}
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32-C3!");
xTaskCreate(Task1, "Task1", 1024, NULL, 1, &Task1_handle);
xTaskCreate(Task2, "Task2", 1024, NULL, 1, &Task2_handle);
}
void loop() {
// put your main code here, to run repeatedly:
delay(10); // this speeds up the simulation
}