STM32学习和实践笔记(10): Systick定时器介绍

1.SysTick定时器介绍

sysTick定时器也叫SysTick滴答定时器,它是Cortex-M3内核的一个外设,被嵌入在 NVIC中。(NVIC:嵌套向量中断控制器,属于内核外设,管理着包括内核和片上所有外设的中断相关的功能)

它是一个24位(注意只有24位,不要装载超过24位的值以免溢出)向下递减的定时器,每计数一次所需时间为1/SYSTICK,SYSTICK是系统定时器时钟,它可以直接取自系统时钟,还可以通过系统时钟8分频后获取。

当定时器计数到0时,将从LOAD寄存器中自动重装定时器初值,重新向下递减计数,如此循环往复。

如果开启SysTick中断的话,当定时器计数到0,将产生一个中断信号。因此只要知道计数的次数就可以准确得到它的延时时间。

例如:

假定SysTick直接取用72M系统时钟,那么每计数一次的时间是1/72MHZ=0.0138888 us。

假定SysTick直接取用72M系统时钟的8分频,那么每计数一次的时间是1/9MHZ=0.1111111111 us。

如果我想计时1us,则1/0.1111111=9次,也就是计数9次后产生中断,那就是1us.

1HZ对应1秒、也就是一秒波形变化一次(一个周期)

1KHZ对应1ms,也就是一秒变化1千次,1ms变化1次。

1MHZ对应1 us,也就是一秒变化1兆次,1us变化1次。

如果是9MHz, 那当然就是计数9次,为1us.

 2.SysTick定时器的寄存器

控制这个定时器的寄存器,主要有4个:

第1个:

COUNTFLAG:是软件来了解Systick计数的状态的。如果计数结束,不需要产生中断,但我仍想知道计数是否结束了,那么读取该位就可以知道。

CLKSOURCE:选0是使用系统时钟8分频后的时钟来计数。选1则为直接使用系统时钟计数。

TICKINT:决定计数到0后,是否需要产生中断

ENABLE :决定定时器什么时候开始计数。

第2个:

第3个:

第4个:(这个极少使用)

3.SysTick定时器配置步骤

SysTick定时器的操作,就是配置上面说的3个控制寄存器,可以分为 4 步:

1)设置SysTick定时器的时钟源

就是直接选用系统时钟,还是使用系统时钟的8分频。

2)设置SysTick定时器的重装初始值(如果要使用中断的话,就将中

断使能打开)。

3)清零SysTick定时器当前计数器的值

4)打开SysTick定时器

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

javaweb day29

事务 写法 事务的四大特性

【C++题解】1027 - 求任意三位数各个数位上数字的和

问题:1027 - 求任意三位数各个数位上数字的和 类型:基础问题 题目描述: 对于一个任意的三位自然数 x ,编程计算其各个数位上的数字之和 S 。 输入: 输入一行,只有一个整数 x(100≤x≤999) 。 输出&…

三种网络安全行业整合模式深度解读

注:本文写于PANW更新及其引发的所有关于平台化的讨论之前几周。之后,这篇文章没有经过编辑,我相信它在今天仍然和以前一样具有现实意义。 在过去几年里,我一直在讨论网络安全行业的复杂性、细微差别和错综复杂性。在讨论过程中&am…

力扣2923、2924.找到冠军I、II---(简单题、中等题、Java、拓扑排序)

目录 一、找到冠军I 思路描述: 代码: 二、找到冠军II 思路描述: 代码: 一、找到冠军I 一场比赛中共有 n 支队伍,按从 0 到 n - 1 编号。 给你一个下标从 0 开始、大小为 n * n 的二维布尔矩阵 grid 。对于满足…

uniapp 开发小程序如何检测到更新点击重启小程序完成更新?

官方文档:uni.getUpdateManager() | uni-app官网 示例代码: const updateManager uni.getUpdateManager();updateManager.onCheckForUpdate(function (res) {// 请求完新版本信息的回调console.log(res.hasUpdate); });updateManager.onUpdateReady(fu…

【Android广播机制】之静态注册与动态注册全网详解

😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD 如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。 😊 座右铭:不…

界面控件DevExpress WinForms/WPF v23.2 - 富文本编辑器支持内容控件

众所周知内容控件是交互式UI元素(文本字段、下拉列表、日期选择器),用于在屏幕上输入和管理信息。内容控件通常在模板/表单中使用,以标准化文档格式和简化数据输入。DevExpress文字处理产品库(Word Processing Document API、WinForm和WPF富文…

LiveNVR监控流媒体Onvif/RTSP功能-概览负载统计展示取流中、播放中、录像中点击柱状图快速定位相关会话

LiveNVR概览负载统计展示取流中、播放中、录像中点击柱状图快速定位相关会话 1、负载信息说明2、快速定位会话3、RTSP/HLS/FLV/RTMP拉流Onvif流媒体服务 1、负载信息说明 实时展示取流中、播放中、录像中等使用数目 取流中:当前拉流到平台的实时通道数目播放中&am…

【opencv】示例-imagelist_reader.cpp 读取YAML格式文件中的图片列表,并逐个显示这些图片的灰度图...

这段代码的功能是使用OpenCV库读取一个YAML或XML格式文件中的图片列表,并且逐个地在窗口中以灰度图像的形式显示这些图片。用户可以按任意键来查看下一张图片。程序提供了帮助信息输出,指导用户如何使用该程序。此外,它使用命令行参数解析器来…

MariaDB介绍和安装

MariaDB介绍和安装 文章目录 MariaDB介绍和安装1.MariaDB介绍2.MariaDB安装2.1 主机初始化2.1.1 设置网卡名和ip地址2.1.2 配置镜像源2.1.3 关闭防火墙2.1.4 禁用SELinux2.1.5 设置时区 2.2 包安装2.2.1 Rocky和CentOS 安装 MariaDB2.2.2 Ubuntu 安装 MariaDB 2.3 源码安装2.3.…

Science Robotics 封面论文:Google DeepMind 通过深度强化学习赋予双足机器人敏捷的足球技能

创造通用具身智能,即创造能够在物理世界中敏捷、灵巧和理解的智能体——就像动物或人类一样——是人工智能 (AI) 研究人员和机器人专家的长期目标之一。动物和人类不仅是自己身体的主人,能够流畅而轻松地执行和组合复杂的动作&…

git从【本地分支】直接推送到【远程主分支】了怎么办?

前情 本地有两个分支,main主分支和articles分支,且articles分支并未推送到我的远程仓库中 惨剧过程 头天晚上写完代码后,怕晚上脑子不清楚搞错什么功能,中午检查了一遍代码,觉得功能做差不多了 然后准备提交推送远程…

吴恩达2022机器学习专项课程(一) 5.9 特征工程 5.10 多项式回归

问题预览/关键词 特征工程的重要性什么是特征工程?什么是多项式回归?特征缩放对多项式回归的重要性特征的选择 笔记 1.特征工程的重要性 选择或输入合适的特征,是让算法正常工作的关键步骤之一。 2.特征工程 根据应用场景,运…

设计模式代码实战-建造者模式

1、问题描述 小明家新开了一家自行车工厂,用于使用自行车配件(车架 frame 和车轮 tires )进行组装定制不同的自行车,包括山地车和公路车。 山地车使用的是Aluminum Frame(铝制车架)和 Knobby Tires&#x…

STM32 DCMI 的带宽与性能介绍

1. 引言 随着市场对更高图像质量的需求不断增加,成像技术持续发展,各种新兴技术(例如3D、计算、运动和红外线)的不断涌现。如今的成像应用对高质量、易用性、能耗效率、高集成度、快速上市和成本效益提出了全面要求。为了满足这些…

10BASE-T1S架构助力车载E/E领域,引领汽车产业迈向智能化新纪元!

汽车架构的发展 如今,汽车已不仅仅满足消费者的代步需求,而是向所谓的ACES(Autonomous, Connected, Electrification, Shared Source)方向发展,全自动驾驶和网联化将成为最终目标。由此带来的高算力和高数据吞吐量问题…

处理json文件,并将数据汇总至Excel表格

从scores.jason文件中读取学生信息,输出学生的学号,姓名,各科成绩,平均分, 各科标准差 效果: # # 从scores.jason文件中读取学生信息,输出学生的学号,姓名,各科成绩,平均分, 各科标准差 impor…

Qotom Q720G5英特尔赛扬处理器N4000高性价比无风扇迷你电脑5网口软路由防火墙

在数字时代,迷你电脑已经成为高效、灵活的解决方案,无论是个人用户还是企业用户,都能从中受益。Qotom Q720G5 无风扇迷你电脑就是这样一款强大的选择,它不仅可以作为软路由、防火墙和路由器,还有着更多的潜力等待发掘。…

uniapp uview里面的u-navbar结合u-sticky组件的使用

导航栏自定义加需要吸顶产生的问题 如上图直接使用并不能出现tab栏吸顶效果&#xff0c;那是由于u-sticky组件吸顶时与顶部的距离默认为0 那么做如下处理 <u-sticky :offset-top"navbarHeight()"><u-tabs :list"helpTabList" active-color"…

智算时代的基础设施如何实现可继承可演进?浪潮云海发布 InCloud OS V8 新一代架构平台

从 2023 年开始持续火爆的 AIGC 正在加速落地应用&#xff0c;为全行业带来生产生活效率的变革与升级。面对数字化转型与智能化转型&#xff0c;对于技术团队来说&#xff0c;既要根据业务与 AI 应用去部署以云为基础的 AI 算力&#xff0c;又要与已有数据和系统&#xff08;甚…