参考资料:《STM32F103 FreeRTOS开发手册V1.1.pdf》
前言
1 FreeRTOS 任务的使用
1.1 任务状态
FreeRTOS中的任务有运行态、就绪态、阻塞态、挂起态四种状态,在任何时候都只处于其中一种状态。任务状态之间的转换如下图所示:
1.2 任务优先级
每一个任务都会有一个任务优先级,其范围为 0 ~ (configMAX_PRIORITIES - 1),0优先级最低,(configMAX_PRIORITIES - 1)优先级最大,通常空闲任务的优先级最低,为0。
1.3 创建任务
使用动态的方法创建一个任务:
xTaskCreate(tcp_server_task, //任务函数
"tcp_server", //任务名字
4096, //任务堆栈大小
NULL, //传递给任务函数的参数
5, //任务优先级
NULL); //任务句柄
void tcp_server_task(void *pvParameters)
{
while(1)
{
}
vTaskDelete(NULL); //删除自身函数
}
2 FreeRTOS 事件标志组的使用
ESP32参考工程:ESP32入门基础之ESP32作为 WIFI Station