推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

xTaskAbortDelay_强制唤醒阻塞任务.docx

更新时间:2026-09-17 08:08:14 大小:38K 上传用户:江岚查看TA发布的资源 标签:FreeRTOSxTaskAbortDelay任务阻塞任务唤醒嵌入式实时系统 下载积分:2分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

实验 95:xTaskAbortDelay — 强制唤醒阻塞任务

实验说明

实验概述

xTaskAbortDelay() 是一个特殊的 API 函数,可以强制将一个处于阻塞态的任务从阻塞中唤醒,使其进入就绪态。这个函数在需要紧急终止某个任务的等待时非常有用,例如系统关闭前的清理、紧急停止等场景。

实验原理

xTaskAbortDelay() 直接操作目标任务的 TCB,将其从阻塞列表中移除并加入就绪列表。如果被唤醒的任务优先级高于当前任务,会立即触发任务切换。该函数不能用于唤醒因等待信号量、队列等事件而阻塞的任务——它只能唤醒因调用 vTaskDelay() 或 vTaskDelayUntil() 而阻塞的任务。

实验现象

任务 A 被延时 30 秒,任务 B 在 5 秒后调用 xTaskAbortDelay() 强制唤醒任务 A。

完整代码

  c
#include "FreeRTOS.h"
#include "task.h"
#include <stdio.h>

TaskHandle_t xLongSleepTaskHandle = NULL;

/* 长时间睡眠任务 */
static void vLongSleepTask(void *pvParameters)
{
    printf("[长眠任务] 开始 30 秒长眠...\r\n");


部分文件列表

文件名 大小
实验95_xTaskAbortDelay_强制唤醒阻塞任务.docx 38K

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单
  • 21下载积分 打赏60.00元   3天前

    用户:gsy幸运

  • 21下载积分 打赏70.00元   3天前

    用户:铁蛋锅

  • 21下载积分 打赏65.00元   3天前

    用户:xzxbybd

  • 21下载积分 打赏60.00元   3天前

    用户:jh0355

  • 21下载积分 打赏60.00元   3天前

    用户:w178191520

  • 21下载积分 打赏20.00元   3天前

    用户:jh03551

  • 21下载积分 打赏20.00元   3天前

    用户:sun2152

  • 21下载积分 打赏20.00元   3天前

    用户:kk1957135547

  • 21下载积分 打赏25.00元   3天前

    用户:w1966891335

  • 21下载积分 打赏20.00元   3天前

    用户:xuzhen1

  • 21下载积分 打赏15.00元   3天前

    用户:x15580286248

  • 21下载积分 打赏25.00元   3天前

    用户:pcb

  • 21下载积分 打赏20.00元   3天前

    用户:bhacker

  • 21下载积分 打赏15.00元   3天前

    用户:liqiang9090

  • 21下载积分 打赏25.00元   3天前

    用户:有理想666

  • 21下载积分 打赏15.00元   3天前

    用户:godbox

  • 21下载积分 打赏15.00元   3天前

    用户:aetek

  • 21下载积分 打赏5.00元   3天前

    用户:mulanhk

  • 21下载积分 打赏5.00元   3天前

    用户:JuneLin61

推荐下载