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'(删除)。
相关推荐
NULL指向我8 小时前
STM32 F103C8T6学习笔记20:SPI驱动W25Qxx
笔记·stm32·学习
VALENIAN瓦伦尼安教学设备8 小时前
填补国内空白!瓦伦尼安发布首台船机机械故障诊断振动实验台
大数据·人工智能·嵌入式硬件
踏着七彩祥云的小丑9 小时前
嵌入式测试学习第 12天:串口基础概念:UART、波特率、数据位、校验位
单片机·嵌入式硬件
夜阑寄语9 小时前
基础元器件
单片机·嵌入式硬件
北山有鸟10 小时前
常用的快捷键
linux·前端·chrome·单片机·学习
QH1392923188010 小时前
R&S®SMBV100B 矢量信号发生器 5G/Wi-Fi/GNSS 主力源
网络·科技·嵌入式硬件·集成测试·信息与通信
山木嵌入式10 小时前
FreeRTOS从入门到进阶:核心概念与调度原理全解析
stm32·操作系统·嵌入式·freertos·rtos
方山子哦11 小时前
软硬件uart、iic、spi、can,及蓝牙和usb的区别及应用场景
单片机·嵌入式硬件
czwxkn12 小时前
pcb设计-电路:IO口的灌电流与拉电流
单片机·嵌入式硬件
朴人13 小时前
【stm32无感FOC理论与实践:滑模观测器】【03 代码实践】
stm32·foc·永磁同步电机·pmsm·smo·无感·滑模