硬汉嵌入式论坛

 找回密码
 立即注册
查看: 6080|回复: 3
收起左侧

[FreeRTOS] 关于xTaskGetTickCount()的疑问

[复制链接]

8

主题

29

回帖

53

积分

初级会员

积分
53
发表于 2019-1-22 17:04:42 | 显示全部楼层 |阅读模式

节拍频率为1000
#define configTICK_RATE_HZ       ( 1000 )

我是想通过两次xTaskGetTickCount()获得一个绝对的时间差,但是测得结果并不对啊
测试程序如下,得到的结果不是900,而是1020100,如果中间用vTaskDelay(100);得到的差值是10201,请教各位这是为什么呢?

test_val = xTaskGetTickCount();
vTaskDelay(900);       
sysprintf("\ntime=%l",  xTaskGetTickCount()-test_val);

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2019-1-22 17:17:54 | 显示全部楼层
我这里测试没问题啊,是不是你的程序模板有问题。
回复

使用道具 举报

8

主题

29

回帖

53

积分

初级会员

积分
53
 楼主| 发表于 2019-1-23 08:37:47 | 显示全部楼层
eric2013 发表于 2019-1-22 17:17
我这里测试没问题啊,是不是你的程序模板有问题。

谢谢eric,
我的程序有多个任务,这个是在优先级最高的任务中进行测试的,不知道这个会不会有影响?
除了使用xTaskGetTickCount,还有没有别的什么方法可以得到时间差值?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2019-1-23 16:00:35 | 显示全部楼层
fendoushuai 发表于 2019-1-23 08:37
谢谢eric,
我的程序有多个任务,这个是在优先级最高的任务中进行测试的,不知道这个会不会有影响?
除 ...

IO翻转的方式,实际测试下函数vTaskDelay(900); 执行需要多少时间
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-1 14:17 , Processed in 0.148995 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表