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'(删除)。
相关推荐
大风起兮1226 分钟前
ESP32,uart安装驱动uart_driver_install函数剖析,以及intr_alloc_flags 参数的意义
开发语言·单片机·嵌入式硬件
君琴2 小时前
SOME/IP协议详解 基础解读 涵盖SOME/IP协议解析 SOME/IP通讯机制 协议特点 错误处理机制
网络·单片机·嵌入式硬件·网络协议
富利威-make2 小时前
THB6128安森美步进电机驱动芯片
图像处理·stm32·单片机·嵌入式硬件·视频编解码·相机
小猪写代码4 小时前
STM32 FreeRTOS 基础知识
stm32·单片机·实时操作系统
捕鲸叉5 小时前
STM32 C++编程,怎样使用printf函数从串口输出中文字符
单片机·嵌入式硬件·调试 诊断
电子科技圈5 小时前
成功案例分享 — 芯科科技助力涂鸦智能打造Matter over Thread模块,简化Matter设备开发
人工智能·科技·嵌入式硬件·mcu·物联网·网络安全·iot
嗯? 嗯。5 小时前
STM32特殊功能引脚详解文章·STM32特殊功能引脚能当作GPIO使用嘛详解!!!
嵌入式硬件·stm32特殊功能引脚·stm32特殊功能引脚详解文章·stm32特殊功能引脚服用·stm32 afio 特殊引脚
weixin_462901977 小时前
用HAL_GetTick()函数实现简单任务调用
单片机·嵌入式硬件
生活很暖很治愈7 小时前
从玩具到工业控制--51单片机的跨界传奇【2】
嵌入式硬件·51单片机