fendoushuai 发表于 2019-1-22 17:04:42

关于xTaskGetTickCount()的疑问


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

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

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

eric2013 发表于 2019-1-22 17:17:54

我这里测试没问题啊,是不是你的程序模板有问题。

fendoushuai 发表于 2019-1-23 08:37:47

eric2013 发表于 2019-1-22 17:17
我这里测试没问题啊,是不是你的程序模板有问题。

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

eric2013 发表于 2019-1-23 16:00:35

fendoushuai 发表于 2019-1-23 08:37
谢谢eric,
我的程序有多个任务,这个是在优先级最高的任务中进行测试的,不知道这个会不会有影响?
除 ...

IO翻转的方式,实际测试下函数vTaskDelay(900); 执行需要多少时间
页: [1]
查看完整版本: 关于xTaskGetTickCount()的疑问