你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32之FreeRTOS:(二)任务相关API函数

[复制链接]
STMCU小助手 发布时间:2022-3-10 21:37
一、任务创建、删除、挂起与恢复
  1. 1、xTaskCreate()//动态方法创建任务
  2. 2、xTaskCreateStatic()//静态方法创建任务
  3. 3、xTaskCreateRestricted()//创建一个MPU限制任务,相关内存用动态内存分配
  4. 4、xTaskDelete()//删除一个任务
复制代码

二、任务其他相关API函数
1、 获取系统任务数量
  1. uxTaskGetNumberOfTasks()
复制代码

2、获取系统中任务状态
  1. uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray, const UBaseType_t uxArraySize, uint32_t * const pulTotalRunTime )
复制代码

通常要申请内存配合下面两个函数使用:
  1. TaskStatus_t *StatusArray=pvPortMalloc(ArraySize*sizeof(TaskStatus_t));//申请内存

  2. vPortFree(StatusArray);        //释放内存
复制代码

3、获取某个任务信息
  1. void vTaskGetInfo( TaskHandle_t xTask, TaskStatus_t *pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState )
复制代码

4、根据任务名获取任务句柄
  1. TaskHandle=xTaskGetHandle("led0_task");//根据任务名获取任务句柄。
复制代码

5、获取任务信息
  1. //获取LED0_Task的任务信息
  2. vTaskGetInfo((TaskHandle_t        )TaskHandle,                 //任务句柄
  3.                          (TaskStatus_t*        )&TaskStatus,                 //任务信息结构体
  4.                          (BaseType_t        )pdTRUE,                        //允许统计任务堆栈历史最小剩余大小
  5.                      (eTaskState        )eInvalid);                        //函数自己获取任务运行壮态
复制代码


6、获取任务的任务壮态
  1. TaskState=eTaskGetState(TaskHandle);//获取query_task任务的任务壮态
复制代码

7、获取所有任务的信息
  1. vTaskList(InfoBuffer);         //获取所有任务的信息
复制代码

8、获取任务运行时间信息
  1. vTaskGetRunTimeStats(RunTimeInfo);                //获取任务运行时间信息
复制代码

总结:
以上是一些比较常用的任务相关的API函数。


收藏 评论0 发布时间:2022-3-10 21:37

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版