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

STM32 定时器复习

12MHz晶振的机器周期是1us,因为单片机的一个机器周期由6个状态周期组成,1个机器周期=6个状态周期=12个时钟周期,因此机器周期为1us。

51单片机常用

for(){__nop(); //执行一个机器周期,若想循环n us,则循环n次。
}

软件定时原理
使用纯软件(CPU死等)的方式实现定时功能。
函数调用压栈出栈也需要时间。
STM32是ARM架构,具有流水线,一个指令的执行会分成多个步骤,延时也不精准。

缺点:

  1. 延时不精准
  2. CPU死等

定时器定时原理

使用精准的时基,通过硬件的方式,实现定时。
定时器核心就是计数器。

在这里插入图片描述

STM32定时器分类

  1. 常规定时器:基本定时器、通用定时器、高级定时器
  2. 专用定时器:独立看门狗、窗口看门狗、实时时钟、低功耗定时器
  3. 内核定时器:SysTick定时器
    在这里插入图片描述

区别:

  1. 基本定时器:没有输入输出通道,常用作时基,即定时功能。
  2. 通用定时器:具有多路独立通道,可用于输入捕获、输出比较,甚至可用作时基。
  3. 高级定时器:除了具备通用定时器所有功能外,还具备带死区控制的信号输出。

基本定时器

基本定时器:TIM6/TIM7
16位递增计数器(计数值:0~65535)
16位预分频器(分频系数:1~65536)
可用于触发DAC
在计数器溢出时,可产生中断/DMA请求

在这里插入图片描述

  1. 时钟源
  2. 控制器
  3. 计数器

溢出条件 CNT=ARR(影子)
影子寄存器是实际起作用的寄存器,不可直接访问。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因此,定时器2-7最大频率72MHz。

计数器模式及溢出条件:

  1. 递增计数器:CNT==ARR(影子)
  2. 递减计数器:CNT==0
  3. 中心对齐模式:CNTARR-1、CNT1

在这里插入图片描述
在这里插入图片描述
具有缓冲能减少操作寄存器时间的误差。

在这里插入图片描述

相关文章:

STM32 定时器复习

12MHz晶振的机器周期是1us,因为单片机的一个机器周期由6个状态周期组成,1个机器周期6个状态周期12个时钟周期,因此机器周期为1us。 51单片机常用 for(){__nop(); //执行一个机器周期,若想循环n us,则循环n次。 }软件…...

17-工程化开发 脚手架 Vue CLI

开发Vue的两种方式: 1.核心包传统开发模式: 基于 html/css /js 文件,直接引入核心包,开发 Vue。 2.工程化开发模式: 基于构建工具 (例如: webpack)的环境中开发 Vue。 问题: 1. webpack 配置不简单 2. 雷同的基础配置 3. 缺乏统…...

golang 分布式微服务DAO层构建

构建云原生项目的dao层 配置读写分离的mysql集群 1. 编写yml配置文件 搭建一主二从的mysql集群、单机redis db.yml mysql:source: # 主数据库driverName: mysqlhost: 127.0.0.1port: 3309database: db_tiktokusername: tiktokDBpassword: tiktokDBcharset: utf8mb4replica1…...

Java 项目日志实例:LogBack

点击下方关注我,然后右上角点击...“设为星标”,就能第一时间收到更新推送啦~~~ LogBack 和 Log4j 都是开源日记工具库,LogBack 是 Log4j 的改良版本,比 Log4j 拥有更多的特性,同时也带来很大性能提升。LogBack 官方建…...

什么是条件get方法?

条件GET方法通常指的是HTTP协议中的"GET"请求,但它带有一些条件,这些条件用于控制服务器是否应该返回请求的资源。这些条件通常使用HTTP标头字段来指定,以便客户端可以告诉服务器在某些条件下是否需要新的或更新的资源。 条件GET方…...

Python爬虫——scrapy_crawlspider读书网

创建crawlspider爬虫文件: scrapy genspider -t crawl 爬虫文件名 爬取的域名scrapy genspider -t crawl read https://www.dushu.com/book/1206.htmlLinkExtractor 链接提取器通过它,Spider可以知道从爬取的页面中提取出哪些链接,提取出的链…...

Spring源码编译-for mac

超详细的spring源码编译 记:编译成功时间:2023.08.19 环境准备: 1.idea 2023.1.1 Community Edition 2.jdk1.8 3.gradlegradle-5.6.4 4.spring源码(版本:spring-framework-v5.2.25.RELEASE) 一.spring源码下载 github 加速网站&…...

视频汇聚平台EasyCVR安防监控视频汇聚平台的FLV视频流在VLC中无法播放的问题解决方案

众所周知,TSINGSEE青犀视频汇聚平台EasyCVR可支持多协议方式接入,包括主流标准协议国标GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。在视频流的处理与分发上,视频监控…...

中间件:RocketMQ安装部署

单机部署 下载 cd /opt/soft/archive wget https://archive.apache.org/dist/rocketmq/4.9.4/rocketmq-all-4.9.4-bin-release.zip unzip -d ../ rocketmq-all-4.9.4-bin-release.zip配置 broker.conf 的brokerIP1 为公网ip 启动命令: nohup sh bin/mqnamesrv &a…...

leetcode-动态规划-42-接雨水

题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1…...

[静态时序分析简明教程(十一)]浅议tcl语言

静态时序分析简明教程-浅议tcl语言 一、写在前面1.1 快速导航链接 二、Tcl基础知识三、Tcl的语言结构3.1 Tcl变量3.2 Tcl表达式与运算符3.3 Tcl的控制流语句3.3.1 列表遍历3.3.2 决策3.3.3 Tcl循环3.3.4 Tcl过程 3.4 其他Tcl命令3.4.1 open/close3.4.2 gets/puts3.4.3 catch3.4…...

大数据-玩转数据-Flink 网站UV统计

一、说明 在实际应用中,我们往往会关注,到底有多少不同的用户访问了网站,所以另外一个统计流量的重要指标是网站的独立访客数(Unique Visitor,UV)。 二、数据准备 package com.lyh.flink06;import lombo…...

3分钟了解下cwnd和TCP拥塞控制算法

文章首发地址 cwnd是什么? cwnd是TCP拥塞控制中的一个重要概念,全称为“congestion window”,也被称为拥塞窗口。它用于限制发送方向网络发送数据的速度,以避免网络拥塞。cwnd是一个动态的值,可以根据网络状况动态调…...

设计模式之状态模式(State)的C++实现

1、状态模式的提出 在组件功能开发过程中,某些对象的状态经常面临变化,不同的状态,其对象的操作行为不同。比如根据状态写的if else条件情况,且这种条件变化是经常变化的,这样的代码不易维护。可以使用状态模式解决这…...

无涯教程-TensorFlow - Keras

Keras易于学习的高级Python库,可在TensorFlow框架上运行,它的重点是理解深度学习技术,如为神经网络创建层,以维护形状和数学细节的概念。框架的创建可以分为以下两种类型- 顺序API功能API 无涯教程将使用Jupyter Notebook执行和…...

使用SSH隧道将Ubuntu云服务器Jupyter Notebook端口映射到本地

本文主要实现了在Ubuntu云服务器后台运行Jupyter Notebook,并使用SSH隧道将服务器端口映射到本地 1. 生成配置文件 运行以下命令生成Jupyter Notebook的配置文件: jupyter notebook --generate-config这将在用户主目录下生成一个名为.jupyter的文件夹&…...

Keepalived+LVS部署高可用集群

文章目录 KeepalivedLVS(DR)部署高可用Web集群集群环境MASTER配置BACKUP配置检查Virtual IP是否漂移IPVS检查MASTERBACKUP Real Server配置附上个人写的小脚本 测试停用Real Server某一台的Apache服务停用Master上的keepalived检测Backup是否接管资源 KeepalivedLVS(DR)部署高可…...

2023河南萌新联赛第(五)场:郑州轻工业大学

A.买爱心气球 原题链接 : 登录—专业IT笔试面试备考平台_牛客网 博弈论 : #include <iostream> using namespace std; int t,n,m; string s1 "Alice",s2 "Bob"; int main() {cin>>t;while(t--){cin>>n>>m;if (n % 3 0) {cou…...

在Orangepi5开发板3588s使用opencv获取摄像头画面

先感谢香橙派群的管理员耐心指导&#xff0c;经过不断的调试修改最后成功通过opencv调用mipi摄像头获取画面 就记录分享一下大概步骤希望大家少踩点坑&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 我用的固件系统是ubuntu2022.0.4 固件是&#x…...

音视频 ffmpeg命令分类查询

命令参数内容-version显示版本 -bsfs 显示可用比特流filter-buildconf显示编译配置-formats显示可用格式(muxersdemuxers)-muxers显示可用复用器-demuxers显示可用解复用器-codecs显示可用编解码器(decodersencoders)-decoders显示可用解码器-encoders显示可用编码器-bsfs显示可…...

公开信息整理|2026年3月27日:楼市需求、长护险覆盖、个体工商户增长与部分国际动态速览

&#x1f525;个人主页&#xff1a;杨利杰YJlio❄️个人专栏&#xff1a;《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》 《那些年未解决的Windows疑难杂症》&#x1f31f; 让复杂的事情更…...

ECharts Gallery弃用后,这4个替代网站让你轻松搞定数据可视化(附优缺点对比)

ECharts Gallery弃用后&#xff0c;这4个专业级替代方案深度评测 当ECharts官方Gallery宣布停止维护时&#xff0c;许多数据可视化开发者突然失去了一个重要的灵感来源和代码参考平台。作为国内最流行的可视化库之一&#xff0c;ECharts的生态系统中其实还隐藏着多个高质量的替…...

VS Code终端切换全攻略:从PowerShell到CMD的保姆级教程(含常见问题解决)

VS Code终端切换全攻略&#xff1a;从PowerShell到CMD的保姆级教程&#xff08;含常见问题解决&#xff09; 在开发者的日常工作中&#xff0c;终端是不可或缺的工具。VS Code作为最受欢迎的代码编辑器之一&#xff0c;其内置终端功能强大且高度可定制。然而&#xff0c;许多开…...

别再手动改配置了!用Flutter的--dart-define实现开发/测试/生产环境一键切换

Flutter多环境配置实战&#xff1a;用--dart-define打造全链路自动化工作流 每次切换环境都要手动修改十几个配置项&#xff1f;还在为不同环境的API地址、应用图标和包名管理头疼&#xff1f;是时候告别这种低效的开发方式了。作为一位经历过无数个深夜调试环境的Flutter开发者…...

四自由度车辆与简支梁桥车桥耦合振动的Matlab实现

车桥耦合振动程序 matlab编程 四自由度车辆与简支梁桥车桥耦合 可提取车体垂直及转动加速度响应以及车轮响应 在交通工程领域&#xff0c;车桥耦合振动的研究对于保障桥梁结构安全以及行车舒适性至关重要。今天咱们就来讲讲如何用Matlab实现四自由度车辆与简支梁桥的车桥耦合振…...

Java面试如何突击?核心知识点有哪些?该如何准备拿下offer?

一、Java 面试核心知识点&#xff08;按考察优先级排序&#xff09;1. Java 基础面向对象&#xff1a;封装、继承、多态&#xff08;重载与重写&#xff09;、抽象类与接口的区别。String 系列&#xff1a;String 不可变性、StringBuilder 与 StringBuffer 的区别、常量池。集合…...

3大场景解析:开源工具如何重构MobaXterm的专业版体验

3大场景解析&#xff1a;开源工具如何重构MobaXterm的专业版体验 【免费下载链接】MobaXterm-Keygen MobaXterm Keygen Originally by DoubleLabyrinth 项目地址: https://gitcode.com/gh_mirrors/mob/MobaXterm-Keygen 在开发者的日常工作中&#xff0c;终端工具的选择…...

刚刚,英伟达革了自己的命:智能体自主进化7天,干掉所有算子工程师、GPU专家

这应该是今天刚刚出炉的、最炸裂的文章。在很多算子开发的微信群组&#xff0c;已经掀起了轩然大波。「这或许是超人类智能在软件领域的真正首次展露。」英伟达许冰刚刚在 X 上发出了如此断言。他所评论的&#xff0c;正是他与 Terry Chen 和 Zhifan Ye 为共同一作的一项英伟达…...

知识管理新范式:跨平台无缝迁移与团队协作效能提升指南

知识管理新范式&#xff1a;跨平台无缝迁移与团队协作效能提升指南 【免费下载链接】outline Outline 是一个基于 React 和 Node.js 打造的快速、协作式团队知识库。它可以让团队方便地存储和管理知识信息。你可以直接使用其托管版本&#xff0c;也可以自己运行或参与开发。源项…...

论文省心了!2026 最新降AI率工具测评与推荐

2026年真正好用的AI论文降重与改写工具&#xff0c;核心看降重效果、去AI味、格式保留、学术适配四大指标。综合实测&#xff0c;千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队&#xff0c;覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 …...