13.FreeRTOS_定时器

定时器概述

定时器运行过程

定时器就像一个闹钟,它有超时时间、函数、是否为周期性这三个部分。

  • 超时时间:什么时候到时间,就像闹钟响起
  • 函数:闹钟响起,要干什么
  • 是否为周期性:这个闹钟只响一次(单次触发)还是每天都响(周期性触发) 

定时器的简化运行过程如下图:

  • (t1)使用定时器,需要先创建一个定时器,创建时会规定以上的三个部分,但这时定时器并不会开始计时。
  • (t2)之后需要开启定时器,并基于该时刻进行计时。
  • (t2->t3过程)FreeRTOS有一个tick中断,每次进入中断,都会在中断中判断是否有定时器超时,如果超时就进行定时器的触发。
  • (t3)当定时器触发之后,会唤醒一个任务(守护任务)来去执行创建定时器时传入的函数。至此一次定时完成,如果设置为了周期性触发,之后就会重复上述过程,如果设置为单次触发,之后将不会再触发。

定时器的状态转换

定时器只有两种状态:Dormant(休眠态)、Running(运行态),下面是定时器的状态转换过程

  • 当创建定时器时,定时器进入的是休眠态,这时定时器不进行计时。
  • 当开启定时器、复位定时器、重置定时器周期时,定时器从休眠态转换到了运行态,这时定时器开始计时。
  • 当计时完成之后,如果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值