当前位置: 首页 > news >正文

【FreeRTOS】软件定时器 software timer(上)

我们在手机上添加闹钟时,需要指定时间、指定类型(一次性的,还是周期性的)、指定做什么事;还有 一些过时的、不再使用的闹钟。如下图所示:

使用定时器跟使用手机闹钟是类似的:

  • 指定时间:启动定时器和运行回调函数,两者的间隔被称为定时器的周期(period)。
  • 指定类型,定时器有两种类型:

一次性(One-shot timers): 这类定时器启动后,它的回调函数只会被调用一次; 可以手工再次启动它,但是不会自动启动它。
自动加载定时器(Auto-reload timers ): 这类定时器启动后,时间到之后它会自动启动它; 这使得回调函数被周期性地调用。

  • 指定要做什么事,就是指定回调函数

实际的闹钟分为:有效、无效两类。软件定时器也是类似的,它由两种状态:

  • 运行(Running、Active):运行态的定时器,当指定时间到达之后,它的回调函数会被调用
  • 冬眠(Dormant):冬眠态的定时器还可以通过句柄来访问它,但是它不再运行,它的回调函数不会 被调用

定时器运行情况示例如下:

  • Timer1:它是一次性的定时器,在t1启动,周期是6个Tick。经过6个tick后,在t7执行回调函数。 它的回调函数只会被执行一次,然后该定时器进入冬眠状态。
  • Timer2:它是自动加载的定时器,在t1启动,周期是5个Tick。每经过5个tick它的回调函数都被执 行,比如在t6、t11、t16都会执行。

相关文章:

  • 教你一招,告警恢复时如何拿到恢复时的值?
  • 代理模式与静态代理、动态代理的实现(Proxy.newProxyInstance、InvocationHandler)
  • 网站选择定制化的优缺点
  • 我们何时才能体验到超高清?
  • Django render()函数页面渲染
  • 性能测试2【搬代码】
  • 【办公类-04-02】华为助手导出照片读取拍摄时间分类导出,视频不行)
  • 【小海实习日记】PHP安装
  • 如何通过HarmonyOS开发下肢康复外骨骼系统
  • 如何用AI大模型打造个性化内容页面展示,提升用户阅读体验和内容传播效果
  • ThinkBook 16 2024 Ubuntu 触控板问题解决
  • 【紧急警示】Locked勒索病毒利用最新PHP远程代码执行漏洞大规模批量勒索!文末附详细加固方案
  • C语言结构体和共用体
  • 虚拟化 之四 详解 jailhouse 使能和创建 Cell 的工作流程
  • vue面试题八
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • css布局,左右固定中间自适应实现
  • Debian下无root权限使用Python访问Oracle
  • es6--symbol
  • JS学习笔记——闭包
  • MaxCompute访问TableStore(OTS) 数据
  • Mysql优化
  • Python实现BT种子转化为磁力链接【实战】
  • SpiderData 2019年2月16日 DApp数据排行榜
  • vuex 学习笔记 01
  • Webpack 4x 之路 ( 四 )
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 解决iview多表头动态更改列元素发生的错误
  • 前端临床手札——文件上传
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 深度解析利用ES6进行Promise封装总结
  • 7行Python代码的人脸识别
  • C# - 为值类型重定义相等性
  • 阿里云ACE认证之理解CDN技术
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • "无招胜有招"nbsp;史上最全的互…
  • #if #elif #endif
  • $refs 、$nextTic、动态组件、name的使用
  • (12)目标检测_SSD基于pytorch搭建代码
  • (2)(2.10) LTM telemetry
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (Python) SOAP Web Service (HTTP POST)
  • (SpringBoot)第二章:Spring创建和使用
  • (web自动化测试+python)1
  • (附源码)c#+winform实现远程开机(广域网可用)
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (汇总)os模块以及shutil模块对文件的操作
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (四)activit5.23.0修复跟踪高亮显示BUG
  • (五十)第 7 章 图(有向图的十字链表存储)
  • (一) 初入MySQL 【认识和部署】
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • . NET自动找可写目录