vTaskGetRunTimeStats()

本文介绍了FreeRTOS中的vTaskGetRunTimeStats函数,该函数用于获取任务运行时间的统计信息。在使用前,需确保configGENERATE_RUN_TIME_STATS和configUSE_STATS_FORMATTING_FUNCTIONS宏设置为1,并实现portCONFIGURE_TIMER_FOR_RUN_TIME_STATS()宏初始化时基,以及portGET_RUN_TIME_COUNTER_VALUE()宏获取时基值。通过这些功能,可以对任务执行时间进行监控和分析,提高系统效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

库函数版本
主要使用函数 vTaskGetRunTimeStats() PDF手册第177页
函 数 vTaskGetRunTimeStats() 是 一 个 很 实 用 的 函 数 , 要 使 用 此 函 数 的 话 宏 configGENERATE_RUN_TIME_STATS 和configUSE_STATS_FORMATTING_FUNCTIONS 必须 都为 1。如果宏 configGENERATE_RUN_TIME_STATS 为 1 的话还需要实现一下几个宏定义:
● portCONFIGURE_TIMER_FOR_RUN_TIME_STATS(),此宏用来初始化一个外设来
提供时间统计功能所需的时基,一般是定时器/计数器。这个时基的分辨率一定要比 FreeRTOS
的系统时钟高,一般这个时基的时钟精度比系统时钟的高 10~20 倍就可以了。
1.● portGET_RUN_TIME_COUNTER_VALUE()或者
2.portALT_GET_RUN_TIME_COUNTER_VALUE(Time),这两个宏实现其中一个就行
了,这两个宏用于提供当前的时基的时间值。
函数原型如下: void vTaskGetRunTimeStats( char *pcWriteBuffer )
参数: pcWriteBuffer: 保存任务时间信息的存储区。存储区要足够大来保存任务时间信息。
3.configGENERATE_RUN_TIME_STATS和configUSE_STATS_FORMATTING_FUNCTIONS在这里配置为1
在这里插入图片描述

4.定义这个函数用来初始化一个外设来提供时间统计功能所需的时基
定义FreeRTOSRunTimeTicks,记得在.h文件中声明
在这里插入图片描述

3.宏定义再加上portCONFIGURE_TIMER_FOR_RUN_TIME_STATS()和portGET_RUN_TIME_COUNTER_VALUE()
在这里插入图片描述

4.定义一个数组来存放任务时间信息
在这里插入图片描述
在这里插入图片描述
5.记得初始化按键
在这里插入图片描述
6.中断里面将这个时基++;
在这里插入图片描述
7.成功,就是要按下按键好久之后才会输出(发现是没有进行按键初始化)
在这里插入图片描述
/分割线**********************/
HAL库版本
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值