RT-Thread时钟管理

操作系统需要通过时间来规范其任务,主要介绍时钟节拍和基于时钟节拍的定时器。

时钟节拍

任何操作系统都需要提供一个时钟节拍,以供系统处理所有和时间有关的事件,如线程的延时、线程的时间片轮转调度以及定时器超时等。

RT-Thread 中,时钟节拍的长度可以根据 RT_TICK_PER_SECOND 的定义来调整。 rtconfig.h配置文件中定义:

/* 
 *频率是1000HZ 周期是1/1000 s
 *所以节拍是1ms
 */
#define RT_TICK_PER_SECOND 1000
系统滴答定时器中断处理函数(每1ms触发一次systick定时器中断):

1.2、获取系统节拍

1.2.1、获取系统计数函数

**
 * This function will return current tick from operating system startup
 *
 * @return current tick
 */
rt_tick_t rt_tick_get(void)

1.2.2、实例
/*
 *...
 *[D/main] tm:7018

 *[D/main] tm:8020

 *[D/main] tm:9022

 *[D/main] tm:10024
 *...
 */
int main(void)
{
    rt_tick_t tm = 0;
    LOG_D("Hello RT-Thread!");
    while (1)
    {
        tm = rt_tick_get();
        LOG_D("tm:%-d\n",tm);
        rt_thread_mdelay(1000);
    }

    return RT_EOK;
}

1.3、定时器

定时器,是指从指定的时刻开始,经过一定的指定时间后触发一个事件,定时器有硬件定时器和软件定时器之分:

硬件定时器: 芯片本身提供的定时功能。一般是由外部晶振提供给芯片输入时钟,芯片向软件模块提供一组配置寄存器,接受控制输入,到达设定时间值后芯片中断控制器产生时钟中断。

硬件定时器的精度一般很高,可以达到纳秒级别,并且是中断触发方式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/818670.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

租用马来西亚服务器:稳定高效的网络选择

马来西亚首都是吉隆坡。作为一个新兴的多元化经济国家,也属于亚洲四小龙之一。地理位置优越,中间隔着南中国海。一部分是北接泰国的位于马来半岛的西马来西亚,另一部分则是东马来西亚,在婆罗洲岛的北部。这种地理位置有利于促进该…

IGBT退饱和现象解析与防范

IGBT是一种重要的功率半导体器件,广泛应用于电力电子领域,如变频器、电动机驱动、电力传输等。在这些应用中,IGBT的导通和关断特性至关重要,而退饱和是IGBT工作过程中的一个重要现象。 IGBT的退饱和定义 退饱和是指IGBT在导通状态…

WordPress用户福音:Elementor Pro国产版替代方案,全新中文界面更懂你

如果你正在考虑创建自己的网站,那么在第一次谷歌搜索时,你可能已经看到了WordPress、Elementor和网站构建器这些专业名称。WordPress是最受欢迎的网站平台之一,这不难理解:它高度可定制,易于学习,而且是免费…

java算法day55 | 动态规划part16 ● 583. 两个字符串的删除操作 ● 72. 编辑距离

583. 两个字符串的删除操作 思路: 和1143.最长公共子序列这道题思路相同,只不过需要对return的数据做一些操作。 class Solution {public int minDistance(String word1, String word2) {int[][] dpnew int[word1.length()1][word2.length()1];for(int …

【Linux 驱动基础】设备树中断

# 前置知识 interrupts 文档 Specifying interrupt information for devices 1) Interrupt client nodes -------------------------Nodes that describe devices which generate interrupts must contain an "interrupts" property, an "interrupts-extende…

业务与数据的终极对决:如何让大数据成为企业的超能力?

在数字化转型的浪潮中,企业如同在茫茫数据海洋中航行的船只,而数据资产管理就是指引航向的罗盘。但是,当业务需求与数据脱节、数据孤岛林立、业务流程与数据流程不同步、以及业务增长带来的数据管理挑战成为阻碍,我们该如何突破重…

ios证书过期需要重新安装app

根据近日工业和信息化部发布的《工业和信息化部关于开展移动互联网应用程序备案工作的通知》,相信不少要进行IOS平台App备案的朋友遇到了一个问题,就是apple不提供云管理式证书的下载,也就无法获取公钥及证书SHA-1指纹。 已经上架的应用不想重…

如何让表单流程引擎提质增效?

随着社会的进步和科技的发展,低代码技术平台在诸多行业中成为利用价值高的平台。对于解决信息孤岛、部门协作不给力、办公效率不高等缺点,低代码技术平台都可以为其架设出一道优质的桥梁,共同朝着高效率的流程化办公方向前进。表单流辰引擎是…

31、链表-K个一组反转链表

思路: 首先知道如何反转链表,其次找出每组的开始节点和结束节点,然后对于不足与k个的链表保持原状。 代码如下: class Solution {public ListNode reverseKGroup(ListNode head, int k) {if (headnull||k1){return head;}ListN…

内网渗透-cobaltstrike之cs上线获取shell

cobaltstrike之cs上线获取shell 文章目录 cobaltstrike之cs上线获取shell前言一、什么是cobaltstrike二、cs上线获取shell 1.环境搭建 CS安装windows连接 2. cs上线获取shell 总结 前言 一、什么是cobaltstrike CobaltStrike是一款渗透测试神器,被业界人称为CS神器…

Python基于卷积神经网络的车牌识别系统

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

结构体的内存对齐

目录 对齐规则: 为什么存在内存对齐? 对齐规则: 1、结构体的第一个成员对齐到和结构体起始位置偏移量为0的地址处 2、其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。 对齐数 编译器默认的一个对齐数 与 …

网站添加PWA支持,仅需三步,无视框架的类型

总结起来,网站配置PWA简单步骤为: 编写 manifest.json;编写 serviceWorker.js;在 index.html 引入上述两个文件;把上述三个文件放在网站根目录(或者同一目录下);网站需要部署在https环境才能触发&#xff…

Cosmopolitan Libc 工作原理与多平台使用方法教程(x64 Linux / WSL2 / Windows)

⚠️阅读前请注意 本博客适用于Cosmopolitan Libc 3.X版本,不适用于Cosmopolitan Libc 2.X版本。Cosmopolitan Libc 是一个非常年轻的项目,可能存在各种问题。Cosmopolitan Libc 仍处于快速迭代开发之中,本文内容在一定时期内会持续更新。 Co…

如何使用CANoe进行LINstress测试

1.创建Stress测试工程 依次按照1-3的步骤建立工程 4部分,主要是Description of the sample configurations(对示例工程的描述) 5部分主要是显示示例工程的位置和简单描述 工程打开后如下图所示 重点关注红框标注的地方,重新截一…

《由浅入深学习SAP财务》:第2章 总账模块 - 2.6 定期处理 - 2.6.5 年末操作:维护新财政年度会计凭证编号范围

2.6.5 年末操作:维护新财政年度会计凭证编号范围 财务系统的维护者要在每年年末预先设置好下一年度的会计凭证编号范围(number range),以便下一年度会计凭证能够顺利生成。这一操作一定要在下一年度1月1日以前预先完成。 …

半导体材料(二)——半导体导电特性

本篇为西安交通大学本科课程《电气材料基础》的笔记。 本篇为这一单元的第二篇笔记,上一篇传送门。 半导体导电特性 载流子的迁移 外电场下电子和空穴定向位移产生电流。电流密度可写作: J e ( μ n n μ p p ) E σ E Je(\mu_n n\mu_p p)E\sigm…

行式存储VS列式存储对比

行式存储: 一行代表一个记录的所有字段。 可以快速读取和写入单条记录。 如果要检索一条数据,数据库会读取or写入整条记录,包含所有相关字段。 列式存储: 表中每一列的数据连续存放。这种方式在需要对某一列进行大量运算或分析时…

「 典型安全漏洞系列 」14.NoSQL注入漏洞详解

NoSQL注入是一个漏洞,攻击者能够干扰应用程序对NoSQL数据库进行的查询,本文我们将研究如何测试一般的NoSQL漏洞,然后重点研究如何利用MongoDB中的漏洞(MongoDB是最流行的NoSQL数据库)。 1. 什么是NoSQL注入 NoSQL注入…

【C++语言】初步认识面向对象编程类和对象(上)

文章目录 前言一.初步认识面向过程和面向对象编程1.面向过程编程初步认识2.面向对象编程初步认识 二.C类1. 类的引入:2. 类的定义3.类的访问限定符&&封装3.1 访问限定符3.2 封装 4.类的实例化5.如何计算类的大小 总结C语言系列学习目录 前言 面向对象编程 类…