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

通用定时器学习记录

简介

通用定时器:TIM2/TIM3/TIM4/TIM5

主要特性:16位递增、递减、中心对齐计数器(计数值0~65535)

16位预分频器(分频系数1~65536)

可用于触发DAC、ADC

在更新事件、触发事件、输入捕获、输出比较时,会产生中断/DMA请求

4个独立通道,可用于:输入捕获、输出比较、输出PWM、单脉冲模式

使用外部信号控制定时器且可实现多个定时器互连的同步电路

支持编码器和霍尔传感器电路等

通用定时器框图

计数器时钟源

1.内部时钟(CK_INT):来自外设总线APB提供的时钟

2.内部时钟模式1:外部输入引脚(TIx),来自定时器通道1或者通道2引脚的信号

3.外部时钟模式2:外部触发输入(ETR),来自可以复用为TIMx_ETR的IO引脚

4.内部输入触发(ITRx):用于与芯片内部其他通用/高级定时器级联

计数器时钟源寄存器设置方法

外部时钟模式1

外部时钟模式2

使用一个定时器作为另一个定时器的预分频器

通用定时器输出比较部分框图介绍

捕获比较通道1的主电路

通用定时器输出PWM原理

假设:递增计数模式

ARR:自动重装载寄存器的值

CCRx:捕获/比较寄存器x的值

当CNT<CRRx,IO输出0

当CNT=CRRx,IO输出1

PWM周期或频率由ARR决定,PWM占空比由CRRx决定

PWM原理

通用定时器PWM输出实验配置步骤

1.配置定时器基础工作参数    HAL_TIM_PWM_Init()

2.定时器PWM输出MSP初始化   HAL_TIM_PWM_MspInit()  配置NVIC、CLOCK、GPIO等

3.配置PWM模式/比较值等   HAL_TIM_PWM_ConfigChannel()

4.使能输出并启动计数器    HAL_TIM_PWM_Start()

5.修改比较值控制占空比(可选)  __HAL_TIM_SET_COMPARE()

6.使能通道预装载(可选)  __HAL_TIM_ENABLE_OCxPRELOAD()

相关HAL库函数介绍

关键结构体介绍

输入捕获框图

捕获比较通道1的输入部分

输入捕获脉宽测量原理(测量高电平脉宽为例)

递增计数模式

ARR:自动重装载寄存器的值

CCRx1:t1时间点CCRx的值

CCRx2:t2时间点CCRx的值

高(低)电平期间,计时器计数个数:N*(ARR+1)+CCRx2

输入捕获配置步骤

1.配置定时器基础工作参数  HAL_TIM_IC_Init()

2.定时器输入捕获MSP初始化  HAL_TIM_IC_MspInit() 配置NVIC、CLOCK、GPIO等

3.配置输入通道映射、捕获边沿   HAL_TIM_IC_ConfigChannel()

4.设置优先级,使能中断  HAL_NVIC_SetPriority()   HAL_NVIC_EnableIRQ()

5.使能定时器更新中断  __HAL_TIM_ENABLE_IT()

6.使能捕获、捕获中断及计数器  HAL_TIM_IC_Start_IT()

7.编写中断服务函数  TIMx_IRQHandler()等   ---> HAL_TIM_IRQHandler() 

8.编写更新中断和捕获回调函数 

HAL_TIM_PeriodElaspsedCallback()     HAL_TIM_IC_CaptureCallback()

相关HAL库函数介绍

关键结构体介绍

脉冲计数原理

外部时钟源模式1

外部时钟源模式2

脉冲计数配置步骤

1.配置定时器基础工作参数  HAL_TIM_IC_Init()

2.定时器输入捕获MSP初始化  HAL_TIM_IC_MspInit() 配置NVIC、CLOCK、GPIO等

3.配置定时器从模式等   HAL_TIM_SlaveConfiSynchro()

4.使能输入捕获并启动计数器  HAL_TIM_IC_Start()

5.获取计数器的值  __HAL_TIM_GET_COUNTER()

6.设置计数器的值  __HAL_TIM_SET_COUNTER()

相关HAL库函数介绍

关键结构体介绍

相关文章:

通用定时器学习记录

简介 通用定时器&#xff1a;TIM2/TIM3/TIM4/TIM5 主要特性&#xff1a;16位递增、递减、中心对齐计数器&#xff08;计数值0~65535&#xff09; 16位预分频器&#xff08;分频系数1~65536&#xff09; 可用于触发DAC、ADC 在更新事件、触发事件、输入捕获、输出比较时&am…...

科技之光闪耀江城:2025武汉国际半导体产业与电子技术博览会5月15日盛大开幕

在科技浪潮汹涌澎湃的当下&#xff0c;半导体产业作为现代信息技术的中流砥柱&#xff0c;正以令人惊叹的速度重塑着世界的面貌。2025年5月15-17日&#xff0c;一场聚焦半导体与电子技术前沿的行业盛会 ——2025 武汉国际半导体产业与电子技术博览会&#xff0c;将在武汉・中国…...

vue开发06:前端通过webpack配置代理处理跨域问题

1.定义 在浏览器尝试请求不同源&#xff08;域名、协议、端口号不同&#xff09;的资源时&#xff0c;浏览器的同源策略会阻止这种跨域请求。&#xff08;比如前端端口15500&#xff0c;后端端口5050&#xff0c;前端界面不可以直接调用5050端口&#xff09; 2.解决方案 使用前…...

⚡️《静电刺客的猎杀手册:芯片世界里的“千伏惊魂“》⚡️

前言&#xff1a; 在这个电子产品无孔不入的时代&#xff0c;我们每天都在与一群隐形刺客打交道——它们身怀数千伏特的高压绝技&#xff0c;能在0.1秒内让价值百万的芯片灰飞烟灭。这就是静电放电&#xff08;ESD&#xff09;&#xff0c;电子工业界最令人闻风丧胆的"沉默…...

【云安全】云原生-K8S(三) 安装 Dashboard 面板

在Kubernetes中安装Dashboard需要几个步骤&#xff0c;包括部署Dashboard组件、配置访问权限以及暴露Dashboard服务等。以下是详细的步骤&#xff1a; 1. 部署 K8S Dashboard 可以通过以下命令用Kubernetes官方的YAML文件来快速部署&#xff0c;由于是国外网站&#xff0c;需…...

Spring Boot 常用依赖详解:如何选择和使用常用依赖

在Spring Boot项目中&#xff0c;依赖&#xff08;Dependencies&#xff09;是项目的核心组成部分。每个依赖都提供了一些特定的功能或工具&#xff0c;帮助我们快速开发应用程序。本文将详细介绍Spring Boot中常用的依赖及其作用&#xff0c;并指导你如何根据项目需求选择合适…...

C++ 设计模式-组合模式

组合模式&#xff08;Composite Pattern&#xff09;允许将对象组合成树形结构&#xff0c;使得客户端以统一的方式处理单个对象和组合对象。以下是一个经典的 C 实现示例&#xff0c;包含透明式设计&#xff08;基类定义统一接口&#xff09;和内存管理&#xff1a; #include…...

【Spring Boot】Spring 魔法世界:Bean 作用域与生命周期的奇妙之旅

前言 ???本期讲解关于spring原理Bean的相关知识介绍~~~ ??感兴趣的小伙伴看一看小编主页&#xff1a;-CSDN博客 ?? 你的点赞就是小编不断更新的最大动力 ??那么废话不多说直接开整吧~~ 目录 ???1.Bean的作用域 ??1.1概念 ??1.2Bean的作用域 ??1.3代码演示…...

移远通信边缘计算模组成功运行DeepSeek模型,以领先的工程能力加速端侧AI落地

近日&#xff0c;国产大模型DeepSeek凭借其“开源开放、高效推理、端侧友好”的核心优势&#xff0c;迅速风靡全球。移远通信基于边缘计算模组SG885G&#xff0c;已成功实现DeepSeek模型的稳定运行&#xff0c;并完成了针对性微调。 目前&#xff0c;该模型正在多款智能终端上进…...

Cables Finance 构建集成LST与外汇RWA永续合约的综合性DEX

虽然 DeFi 领域整体发展迅速&#xff0c;但仍旧缺乏交易体验。现阶段市场已拓展至 RWAs 、永续期货和外汇领域&#xff0c;但跨资产交易的实际操作仍充满阻力。交易者面临流动性碎片化、抵押品被锁定在质押合约中缺乏流动性&#xff0c;以及整个系统仍围绕美元稳定币运转等问题…...

AI大模型(DeepSeek)科研应用、论文写作、数据分析与AI绘图学习

【介绍】 在人工智能浪潮中&#xff0c;2024年12月中国公司研发的 DeepSeek 横空出世以惊艳全球的姿态&#xff0c;成为 AI领域不可忽视的力量!DeepSeek 完全开源&#xff0c;可本地部署&#xff0c;无使用限制&#xff0c;保护用户隐私。其次&#xff0c;其性能强大&#xff…...

【算法工程】解决linux下Aspose.slides提示No usable version of libssl found以及强化推理模型的短板

1. 背景 构建ubuntu镜像&#xff0c;然后使用Aspose.slides解析PPTX文档&#xff0c;发现一直提示“No usable version of libssl found”。 2. 尝试 使用deepseek R1、kimi1.5、chatgpt o3&#xff0c;并且都带上联网能力&#xff0c;居然还是没有一个能够真正解决&#xf…...

什么是HTTP和HTTPS?它们之间有什么区别?

什么是HTTP和HTTPS&#xff1f;它们之间有什么区别&#xff1f; HTTP&#xff08;超文本传输协议&#xff09;简介 HTTP就像是你通过明信片给朋友发送信息。你在明信片上写下内容&#xff0c;然后寄出去。任何人都可以在途中看到明信片上的内容&#xff0c;因为它是公开的。 …...

【一文读懂】TCP与UDP协议

TCP协议 概述 TCP&#xff08;Transmission Control Protocol&#xff09;&#xff0c;即传输控制协议&#xff0c;是一种面向连接的、可靠的、基于字节流的传输层通信协议&#xff0c;常用于保证数据可靠、按顺序、无差错地传输。TCP 是互联网协议族&#xff08;TCP/IP&…...

数据结构 树的存储和遍历

一、树的定义 树的定义 树型结构是⼀类重要的⾮线性数据结构。 • 有⼀个特殊的结点&#xff0c;称为根结点&#xff0c;根结点没有前驱结点。 • 除根结点外&#xff0c;其余结点被分成M个互不相交的集合T1 、T2 、...、Tm T&#xff0c;其中每⼀个集合⼜是⼀棵树&#xff0c…...

Jenkins项目CICD流程

Jenkins项目流程:1.配置git环境 git config --...2.把前后端的目录初始化位本地工作目录 #git init3.提交到本地git #git add ./ git commit -m "" git tag v14.然后提交到远程git(通过,用户,群组,项目,管理项目)git remote add origin http://...git push -…...

EasyRTC轻量级SDK:智能硬件音视频通信资源的高效利用方案

在智能硬件这片广袤天地里&#xff0c;每一份资源的精打细算都关乎产品的生死存亡。随着物联网技术的疾速演进&#xff0c;实时音视频通信功能已成为众多设备的标配。然而&#xff0c;硬件资源的捉襟见肘&#xff0c;让开发者们常常陷入两难境地。EasyRTC&#xff0c;以它的极致…...

AI Agent未来走向何方?

AI Agent未来走向何方? 目录 AI Agent未来走向何方?AI推理支撑应用开发走向新赛道智能体成为AI应用的主流形式大模型应用正以AI Agent的主流形式赋能终端设备从大到小AI模型发展从通用转向垂直:小型语言模型(SLM)AI推理支撑应用开发走向新赛道 训练与推理,是AI 大模型两大核…...

Visual Studio Code的键盘快捷键

注意&#xff1a;如果您在Mac上访问此页面&#xff0c;您将看到Mac的键盘快捷键。如果您使用Windows或Linux访问&#xff0c;您将看到该平台的密钥。如果您需要其他平台的键盘快捷键&#xff0c;请将鼠标悬停在您感兴趣的键上。 键盘快捷键编辑器 VS Code通过键盘快捷键编辑器…...

【Jenkins流水线搭建】

Jenkins流水线搭建 01、SpringBoot项目 - Jenkins基于Jar持续集成搭建文档基于手动方式发布项目基于dockerfile基于jenkins + dockerfile + jenkinsfile +pieline基于jenkins + jar方式的发布01、环境说明01、准备项目02、准备服务器03、安装git04、安装jdk1.805、安装maven依赖…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...