五,FreeRTOS之——相对延时与绝对延时

声明:本专栏参考韦东山,野火,正点原子以及其他博主的FreeRTOS教程,如若侵权请告知,马上删帖致歉,个人总结,如有不对,欢迎指正。

转:大佬的理解

我的理解:如图
相对延时是任务运行之后进入阻塞状态的时间,下图为flag2任务时间段
绝对延时是任务开始运行到下一次开始运行的整个过程下图flag1任务时间段

在这里插入图片描述

相对延时函数已经比较熟悉了,就是我们用的vTaskDelay();
绝对延时的函数怎么样的呢???

绝对延时函数为:vTaskDelayUntil();
绝对延时函数里面还有两个参数
第一个参数为获取到的时间计数,我们一般以系统滴答定时器的时间作为基准,获取当前计数时间的函数为**xTaskGetTickCount();**此函数可以获取到计数值
第二个参数为绝对延时的时间长度,也就是如果我们把滴答定时器的时间作为一个标准,比如产生一次中断的时间为1ms,这里如果第二个参数填入20,那么就是绝对延时20ms
直接看代码怎么写吧,注意箭头所指向的地方,宏开关为0时就是调用绝对延时函数
在这里插入图片描述

git仓库源码地址:https://gitee.com/he-dejiang/free-rtos.git

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值