1815_ChibiOS中的虚拟定时器

2023-10-20 03:36
文章标签 定时器 虚拟 chibios 1815

本文主要是介绍1815_ChibiOS中的虚拟定时器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

         全部学习汇总: GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github.com)

1. 这个功能其实类似于FreeRTOS的设计,在FreeRTOS中也有这样的设计。

2. 一次性的定时器,这个不仅在FreeRTOS中见过,在我用过的一些商用的操作系统中也有。

3. 虚拟定时器的操作方法有启动、提前停止或者到达定时时间之后触发一个回调。

4. 由于回调动作都是从ISR中触发的,因此涉及到的API调用需要满足I类的接口要求。

5. 如果采用tick的模式来实现有几点不好的地方:负荷高、精度差、会给系统增加抖动且功耗会增加。

1. 如果采用无tick的模式,那么可以提供一些好的特点:低功耗、抖动影响小、精度更高。

2. 但是,tickless的模式也有一些需要考虑的弊端,比如说:实现起来更复杂;需要硬件间似乎器的支持,虽然16bit的计数器就基本满足了,但是建议使用32bit的计数器;行为与其他的实现模式略有不同;可能会增加内核的大小等。

3. 关于这部分的API中有两个需要单独注意一下,一个是这个需要初始化。其实,对等其他的OS可能叫做创建,但是习惯了之前的思维模式可能这里的初始化会意识不到。另一点就是这里提供了一个定时器已经设置好了的情况下的快速reset方法。

         这里的这种设计,实现不断的LED驱动点亮的效果有点添油燃灯的感觉。通过不断地触发来进行续命。

         如何实现一个重复的翻转触发?这里的例子提供的方式是不断重新设置软定时器,这样回调之中调用回调就可以一直触发。这种设计是十分有趣的。

         这个例子的前面有一段说明,解释这样的设计可以通过一个命令就实现这个LED的闪烁功能的开启。最初没有理解是什么概念,后来仔细理解了一下。应该是这里提供的代码并不是顺序执行的,只是提供了两段代码来说明如何进行这个功能的启动以及关闭。

         如果想要让这个LED闪烁,只需要设置激活这样的一个虚拟定时器即可。在回调中,它会实现自己的重复触发。但是无论什么时候,停止这个虚拟计数器并且关闭LED都可以启动一个停止处理的效果。

这篇关于1815_ChibiOS中的虚拟定时器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/244376

相关文章

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑燃料电池和电解槽虚拟惯量支撑的电力系统优化调度方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python

【Qt】定时器事件

定时器事件 在之前学习QTimer中实现了定时器的功能,而在QTimer背后是QTimerEvent定时器事件进行支撑的。在QObject中提供了一个timeEvent这个函数。 startTimer启动定时器killTimer关闭定时器 Qt 中在进⾏窗⼝程序的处理过程中,经常要周期性的执⾏某些操作,或者制作⼀些动画效果,使⽤定 时器就可以实现。所谓定时器就是在间隔⼀定时间后,去执⾏某⼀

独立按键单击检测(延时消抖+定时器扫描)

目录 独立按键简介 按键抖动 模块接线 延时消抖 Key.h Key.c 定时器扫描按键代码 Key.h Key.c main.c 思考  MultiButton按键驱动 独立按键简介 ​ 轻触按键相当于一种电子开关,按下时开关接通,松开时开关断开,实现原理是通过轻触按键内部的金属弹片受力弹动来实现接通与断开。  ​ 按键抖动 由于按键内部使用的是机

AF透明模式/虚拟网线模式组网部署

透明模式组网 实验拓扑  防火墙基本配置 接口配置 eth1  eth3   放通策略  1. 内网用户上班时间(9:00-17:00)不允许看视频、玩游戏及网上购物,其余时 间访问互联网不受限制;(20 分) 应用控制策略   2. 互联网用户只允许访问内网两台服务器的 WEB、SSH 和远程桌面服务,其余 服务均不允许访问;(20 分) 外网访问内网的限制策略   虚拟网线模式组网 实

【JavaScript】在循环体中了解定时器工作机制

for (var i = 0; i < 5; i++) {setTimeout(function() {console.log(i);}, 1000);}console.log(i);   如果我们约定,用箭头表示其前后的两次输出之间有 1 秒的时间间隔,而逗号表示其前后的两次输出之间的时间间隔可以忽略,代码实际运行的结果该如何描述?会有下面两种答案: A. :5 -> 5 -> 5 ->

Thinkphp6.0+vue个人虚拟物品网站源码

Thinkphp6.0+vue个人虚拟物品网站源码 支持码支付对接 扫码自动发货 源码一共包含两个部分thinkphp6.0后端文件,以及vue前端文件。 服务器环境 php7以上,mysql5.6以上; 内附安装说明 代码免费下载

WebAPI (一)DOM树、DOM对象,操作元素样式(style className,classList)。表单元素属性。自定义属性。间歇函数定时器

文章目录 Web API基本认知一、 变量声明二、 DOM1. DOM 树2. DOM对象3. 获取DOM对象(1)、选择匹配的第一个元素(2)、选择匹配多个元素 三、 操作元素1. 操作元素内容2. 操作元素属性(1)、常用属性(href之类的)(2)、通过style属性操作CSS(3)、通过类名(className)操作CSS(4)、通过classList操作控制CSS(5)、操作表单

真人模特失业?AI虚拟试衣一键成图,IDM-VTON下载介绍

在电商行业竞争尤为激烈的当下,除了打价格战外,如何有效的控制成本,是每个从业者都在思考的问题 IDM-VTON是一个AI虚拟换装工具,旨在帮助服装商家解决约拍模特导致的高昂成本问题,只需一张服装图片,就可以生成各种身穿该服装的模特,大大简化了传统的产品展示过程 IDM-VTON最新中文版:IDM-VTON百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育

深入理解C语言中的POSIX定时器

引言 在Unix和类Unix系统中,定时器是一种常见的机制,用于在特定时间间隔后执行某些操作。POSIX定时器因其灵活性和功能丰富而被广泛采用。本文将深入探讨POSIX定时器的工作原理、内部机制、使用方法及其在实际开发中的应用。 POSIX定时器基础 POSIX定时器是一种高级定时器接口,它允许用户创建定时器并指定定时器到期时的动作。POSIX定时器支持以下特性: 信号通知:定时器到

解决TMP_InputField 在WebGL(抖音)上不能唤起虚拟键盘,不能使用手机内置输入法的问题

整整花费了一天时间测试和解决。试验了多个方法,花了不少美刀,最终才发现抖音这个官方文档,哭了: https://partner.open-douyin.com/docs/resource/zh-CN/mini-game/develop/guide/game-engine/rd-to-SCgame/open-capacity/capability-adaptation/sc_webgl_keyboa