当前位置: 首页 > wzjs >正文

做爰网站下载地址深圳市最繁华的地方在哪里

做爰网站下载地址,深圳市最繁华的地方在哪里,html代码表示,手机app用什么语言编写的STM32Cube-FreeRTOS任务管理工具函数-笔记 一、获取任务句柄的函数1. 创建任务并获取句柄2. 获取当前任务句柄3. 获取空闲任务句柄4. 根据任务名称获取句柄 二、单个任务操作相关函数1. 程序在运行时可以获取或改变一个任务的优先级3. 获取任务信息4. 获取任务信息5. 获取任务名…

STM32Cube-FreeRTOS任务管理工具函数-笔记

  • 一、获取任务句柄的函数
    • 1. 创建任务并获取句柄
    • 2. 获取当前任务句柄
    • 3. 获取空闲任务句柄
    • 4. 根据任务名称获取句柄
  • 二、单个任务操作相关函数
    • 1. 程序在运行时可以获取或改变一个任务的优先级
    • 3. 获取任务信息
    • 4. 获取任务信息
    • 5. 获取任务名称
    • 6. 获取堆栈高水位值
    • 7. 获取任务状态
  • 三、核信息统计相关的函数
    • 1. 获取系统中任务总数
    • 2. 获取任务列表字符串
    • 获取系统任务状态数组
    • 获取任务运行时间统计
    • 调度器当前状态

一、获取任务句柄的函数

1. 创建任务并获取句柄

osThreadNew() 创建任务时返回类型为 osThreadId_t。
实际上,osThreadId_t 是对 FreeRTOS 的 TaskHandle_t 类型的封装。
底层调用 xTaskCreateStatic() 或 xTaskCreate(),返回值为 TaskHandle_t。
在这里插入图片描述
当我们在FreeRTOS要调用osThreadNew来创建任务的时候,它会返回一个osThreadId_t这个类型的变量作为任务句柄。

在这里插入图片描述
os开头的类型实际上是被包装过的一个类型,这个类型是被定义在这个文件里面,它不是一个 FreeRTOS自带的这么一种类型。

在这里插入图片描述
实际上osThreadNew它的核心是调用了xTaskCreateStatic或者是xTaskCreate。Create state它也有一个返回的类型。
在这里插入图片描述
TaskHandle_t这个类型是FreeRTOS定义的一种类型,它跟我们刚才这个osThreadId_t是等价的。其实这个东西它就叫做任务的句柄。

在创建任务时就获得了一个返回的任务句柄变量。那么这个变量就可以作为FreeRTOS任务操作函数的任务句柄输入参数。除了在任务创建时获取到任务的句柄,在FreeRTOS中还有3个用于获取任务句柄的函数。


由于右侧的函数列表太多了,所以outline试图被禁用了。
在这里插入图片描述

在这里插入图片描述
解决函数较多,让其他函数显示出来的设置方法。


2. 获取当前任务句柄

在这里插入图片描述
获取当前任务的句柄:xTaskGetCurrentTaskHandle()
返回值的方式获取到一个任务句柄。

可以看到在这个函数之上是有两个条件。必须在我们的STM32CubeMX可视化界面中将(INCLUDE_xTaskGetCurrentTaskHandle)这个选项设置为1,这个函数才可以被参与编译。否则这个函数将会被裁剪掉,以减少我们编译出来的文件的大小。


3. 获取空闲任务句柄

在这里插入图片描述

获取空闲任务的句柄:xTaskGetIdleTaskHandle
可以发现这里有灰色的底,这个函数它在STM32CubeMX里是不能设置的。如果你需要使用这个函数,可以将(INCLUDE_xTaskGetIdleTaskHandle)这个变量底范围1,那这里就可以参与编译。


4. 根据任务名称获取句柄

在这里插入图片描述

获取任务句柄的函数:xTaskGetHandle(const char *pcNameToQuery)
函数它需要传入的参数是任务名称的字符串。这函数运行的时间比较长,不建议大量使用。如果两个任务具有相同的任务名称,那函数返回的结果是不确定的。
可以将(INCLUDE_xTaskGetHandle)这个变量底范围1,那这里就可以参与编译。

二、单个任务操作相关函数

1. 程序在运行时可以获取或改变一个任务的优先级

在这里插入图片描述
函数:uxTaskPriorityGet(TaskHandle_t xTask)
功能:获取指定任务的当前优先级。

1.1. uxTaskPriorityGetFromISR,是上一个函数的中断服务程序版本
在这里插入图片描述

3. 获取任务信息

函数: vTaskGetInfo()
使用这两个函数都需要在STM32CubeMX中确保开启了(INCLUDE_uxTaskPriorityGet)这个选项。
在这里插入图片描述


4. 获取任务信息

函数: vTaskGetInfo()

4.1. 函数作用
vTaskGetInfo() 是 FreeRTOS 中用于获取指定任务详细信息的调试函数。它可以获取任务的以下信息:

  • 任务状态(如运行态、就绪态、阻塞态等)
  • 任务优先级
  • 任务名称
  • 堆栈使用情况(可选)
  • 运行时间统计(需配置宏)
  • 任务句柄和编号

4.2. 函数原型

void vTaskGetInfo(TaskHandle_t xTask,          // 要查询的任务句柄TaskStatus_t *pxTaskStatus,  // 保存任务信息的结构体指针BaseType_t xGetFreeStackSpace, // 是否计算堆栈最小剩余空间eTaskState eState            // 是否获取任务当前状态
);

5. 获取任务名称

函数:pcTaskGetName(TaskHandle_t xTask)
在这里插入图片描述
功能:返回的是一个字符型的指针。它传入的参数是一个需要被查询的任务句柄。


6. 获取堆栈高水位值

函数:uxTaskGetStackHighWaterMark(TaskHandle_t xTask)
在这里插入图片描述
获取任务的高水位值的函数。这个高水位值实际上就是任务的占空间最少,可用的剩余空间大小单位是字,这个值越小表示任务的占空间越容易溢出。当发现获取到的这个值偏小的时候,就要考虑扩大这个任务的占空间。


7. 获取任务状态

函数:eTaskGetState(TaskHandle_t xTask)
在这里插入图片描述
返回任务的当前状态。以e函开头的表示,它的返回值是一个枚举型。

三、核信息统计相关的函数

1. 获取系统中任务总数

函数:uxTaskGetNumberOfTasks()
在这里插入图片描述
功能:返回任务当前管理的任务的总数,包括就绪和阻塞的挂起的任务,也包含虽然删除了但是没有在空闲任务里释放的。


2. 获取任务列表字符串

函数:vTaskList(char *pcWriteBuffer)

在这里插入图片描述
功能:返回内核中所有任务的字符串列表信息,包含每个任务的名称、状态、优先级、高水位值、任务编号。使用这个函数时需要传入一个足够大的字符数组,FreeRTOS不会检查这个传入的数组的大小。

注意事项:vTaskList代码中用到了sprint f函数,会使编译后的应用大小明显增大。所以说这个函数一般只在调试时使用,不要在发布版本里使用。

在这里插入图片描述


获取系统任务状态数组

函数:uxTaskGetSystemState()
参数第一个是一个数组的指针,它是一个结构体数组需要预先的分配,数组的大小必须是大于等于FreeRTOS内的任务,下一个参数是指的第一个参数中的数组的成员个数。第三个参数用于返回FreeRTOS运行后的总时间。

在这里插入图片描述


获取任务运行时间统计

函数:vTaskGetRunTimeStats(char *pcWriteBuffer)
功能:输出任务运行时间和 CPU 占比。

函数也需要传入一个字符串,会以文字表格的形式返回出每个任务的运行时间,包括绝对时间和占用CPU的百分比。需要注意的是,这个函数它在运行时会禁用掉所有中断,所以不要在程序正常运行时使用这个函数,应该只在调试阶段使用。

在这里插入图片描述


调度器当前状态

函数:xTaskGetSchedulerState()
功能:返回调度器当前状态。
返回值:
taskSCHEDULER_NOT_STARTED(未启动)
taskSCHEDULER_RUNNING(运行中)
taskSCHEDULER_SUSPENDED(被挂起)


文章转载自:

http://PnygwPIG.npxht.cn
http://4Y4H4qQI.npxht.cn
http://cCk5S0tE.npxht.cn
http://4P08lxXi.npxht.cn
http://5Rkxl7CD.npxht.cn
http://4hhKiktp.npxht.cn
http://kvldJYW6.npxht.cn
http://SFuLHhLU.npxht.cn
http://eZBaH4Lg.npxht.cn
http://p6UUTJZC.npxht.cn
http://JrQbt6fY.npxht.cn
http://GN4cGSSU.npxht.cn
http://DLljrXKs.npxht.cn
http://OTID2Fq1.npxht.cn
http://9mdXyd3t.npxht.cn
http://fqmpyMf7.npxht.cn
http://geFgZFVv.npxht.cn
http://uSOaCtIw.npxht.cn
http://iPnWIosZ.npxht.cn
http://uABoLMux.npxht.cn
http://mYHy2mBF.npxht.cn
http://l2TSGIaV.npxht.cn
http://Y7xyrFGI.npxht.cn
http://sISV8KLd.npxht.cn
http://nDwh5wkg.npxht.cn
http://gYIFf0DO.npxht.cn
http://ERsDxwq5.npxht.cn
http://hYhNDvQx.npxht.cn
http://ogGxVKHt.npxht.cn
http://58XWgStS.npxht.cn
http://www.dtcms.com/wzjs/623062.html

相关文章:

  • 电信网站开发语言主要用什么电商具体是做什么的上班
  • 如何做盗版小说网站114啦网址导航建站系统
  • 北海购物网站开发设计定制软件app开发公司
  • 免费3d模型素材网站网站建设买阿里云云服务器
  • 建设一个蛋糕网站的背景与目的wordpress自动关键词
  • 东莞 网站建设 保健品百度中搜到网站名字
  • 浙江省建设银行网站首页wordpress 微博功能
  • 怎么做微课网站怎么查网站的所有权
  • 如何高效建设品牌网站泉州网站建设技术外包
  • 教育类网站 前置审批小程序开发一个要多少钱
  • 怎么创建自己的博客网站asp access网站开发实例精讲
  • 中国建设银行网站会员用户名WordPress小工具吗美化
  • 网站建设对接视频赌钱网站怎么做的
  • 东莞想做网站四川城乡建设网站证件查询
  • 网站建设收费wordpress同ip弹一次广告
  • 深圳中高端网站建设怎么样大连优化排名推广
  • 巴彦淖尔市 网站建设wordpress轮播图设置
  • 能打开任何网站浏览器网站建设管理意见
  • 离石网站建设公司2019银川住房建设规划信息网站
  • 网站管理员怎么联系seo专员是什么
  • 网站系统建设思想如何写网络推广需要什么
  • 站长之家综合查询工具青海网站制作公司
  • 网站制作视频教程古镇高端网站建设
  • 信息化管理系统软件湖南网站seo优化
  • app开发网站公司品牌推广广告
  • 网站连接微信网站建设费用价格表
  • 上海高端网站建设制作中国艺术设计联盟
  • 网络科技公司网站建设创立网站成本
  • 专业网络工程师培训北京关键词优化报价
  • 网站推广是干嘛的电商gpm是什么意思