ESP32获取当前执行的任务
时间: 2023-07-06 20:06:54 浏览: 132
在ESP32上,可以通过vTaskGetInfo()函数获取当前正在执行的任务的信息。该函数需要一个TaskStatus_t类型的结构体作为参数,用于存储任务的信息。
以下是一个简单的示例代码,演示如何使用vTaskGetInfo()函数获取当前正在执行的任务的信息:
```
TaskStatus_t taskStatus;
vTaskGetInfo(NULL, &taskStatus, pdTRUE, eRunning);
Serial.print("Current task name: ");
Serial.println(taskStatus.pcTaskName);
Serial.print("Current task stack high water mark: ");
Serial.println(taskStatus.usStackHighWaterMark);
Serial.print("Current task run time: ");
Serial.println(taskStatus.ulRunTimeCounter);
```
在这个示例中,我们首先创建一个TaskStatus_t类型的结构体taskStatus,然后调用vTaskGetInfo()函数来填充这个结构体。第一个参数为NULL,表示获取当前任务的信息。第二个参数为我们创建的taskStatus结构体。第三个参数pdTRUE表示获取任务的状态信息,eRunning表示获取当前正在执行的任务的信息。
最后,我们打印出获取到的任务的名称、堆栈高水位线和运行时间计数器。
值得注意的是,vTaskGetInfo()函数只能获取正在运行的任务的信息。如果你想获取其他任务的信息,你需要提供这些任务的句柄作为第一个参数。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)