STM32 FreeRTOS 的任务挂起与恢复以及查看任务状态

目录

任务的挂起与恢复的API函数

任务挂起函数

任务恢复函数

任务恢复函数(中断中恢复)

函数说明

注意事项

查看任务状态


任务的挂起与恢复的API函数

vTaskSuspend():挂起任务, 类似暂停,可恢复

vTaskResume():恢复被挂起的任务

xTaskResumeFromISR():在中断中恢复被挂起的任务

任务挂起函数

cs 复制代码
void vTaskSuspend( TaskHandle_t xTaskToSuspend )

xTaskToSuspend:待挂起任务的任务句柄,为NULL表示挂起任务自身。

需将宏INCLUDE_vTaskSuspend配置为 1。

任务恢复函数

cs 复制代码
void vTaskResume( TaskHandle_t xTaskToResume )

INCLUDE_vTaskSuspend必须定义为 1。

不论任务被使用 vTaskSuspend() 挂起多少次,只需调用 vTaskResume() 一次,即可使其继续执行。被恢复的任务会重新进入就绪状态。

任务恢复函数(中断中恢复)

函数说明
cs 复制代码
BaseType_t xTaskResumeFromISR( TaskHandle_t xTaskToResume )

返回值

pdTRUE:任务恢复后需要进行任务切换。

pdFALSE:任务恢复后不需要进行任务切换。

注意事项

INCLUDE_vTaskSuspend 和 INCLUDE_xTaskResumeFromISR 必须定义为 1。

在中断服务程序中调用FreeRTOS的API函数时,中断的优先级不能高于FreeRTOS所管理的最高任务优先级。

查看任务状态

cs 复制代码
/* 开启跟踪task信息 */
#define configUSE_TRACE_FACILITY 1
#define configUSE_STATS_FORMATTING_FUNCTIONS 1

void vTaskList( char * pcWriteBuffer )
cs 复制代码
名称			状态    优先级   堆栈使用 任务编号
'X'(运行) 'B'(阻塞)、'R'(就绪)、'S'(暂停)或 'D'(删除)。
相关推荐
广药门徒3 小时前
虚拟机联网20260725
嵌入式硬件
国产化创客4 小时前
Kindle 嵌入式交叉开发环境
嵌入式硬件·智能硬件
szxinmai主板定制专家6 小时前
RK3568+FPGA高速并行采集|半导体探针测试设备多通道同步数据采集系统设计
人工智能·嵌入式硬件·计算机视觉·fpga开发
Dlrb12119 小时前
ARM---I2C协议时序详解以及IMX6ULL使用I2C协议与AT24C02,LM75A芯片通信详解与示例代码
嵌入式硬件·arm·lm75a·i2c协议·at24c02·i2c时序
周洲083011 小时前
STM32独立/窗口看门狗完整配置|防止程序跑飞死机、异常复位
stm32·单片机·嵌入式硬件
论迹复利12 小时前
多平台移植 BTBLE Stack 的思路与踩坑实战——从 Ceva IP 到厂商适配层的迁移指南
嵌入式硬件·物联网·架构
SUNNYSPY00112 小时前
30N03DF-ASEMI扫地机器人主驱动30N03DF
单片机
CPETW12 小时前
企业版配套软件介绍 ---- USB TO SPI_ (Excel)-Microwire
网络·科技·单片机·嵌入式硬件·电子
一个嵌入式学徒13 小时前
LVGL图形库移植STM32
stm32·单片机·嵌入式硬件
Hello_Damon_Nikola13 小时前
伺服电机堵转检测算法详解
单片机·嵌入式硬件·算法