STM32的定时器中断Cubemx

STM32的定时器中断Cubemx

    • 0.定时器简介
    • 1.配置时钟
    • 2.配置定时器
    • 3.创建工程
    • 4.补充源码

0.定时器简介

基本定时器功能:

  1. 16位向上、向下、向上/下自动装载计数器
  2. 16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65535之间的任意数值
  3. 触发DAC的同步电路 注:此项是TIM6/7独有功能.位于APB1总线上

通用定时器的主要功能:

  1. 16位向上、向下、向上/下自动装载计数器
  2. 16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65535之间的任意数值
  3. 4 个独立通道(TIMx_CH1~4)可以用作:
    测量输入信号的脉冲长度( 输入捕获)
    输出比较
    单脉冲模式输出
    PWM输出(边缘或中间对齐模式)
    支持针对定位的增量(正交)编码器和霍尔传感器电路
    如下事件发生时产生中断/DMA:
    更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)
    触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)
    输入捕获
    输出比较
    位于APB1总线上

高级定时器的主要功能:

  1. 高级定时器具有基本,通用定时器的所有的功能,还具有控制交直流电动机所有的功能,
  2. 输出6路互补带死区的信号,刹车功能等等
    位于APB2总线上

总括:基本定时器就是单纯的定时计数器,通用定时器多了四个通道,相对应的增加了功能,高级定时器具有基本,通用定时器的所有的功能,并且添加了其他功能

1.配置时钟

使用外部石英晶振提供时钟频率
时钟配置
时钟树

2.配置定时器

在这里插入图片描述
定时时间计算公式
在这里插入图片描述
溢出时间=(计数周期+1)*(分频+1)/时钟频率
时钟频率要看使用的定时器挂在那个时钟树上,查看是时钟树的频率即可

3.创建工程

在这里插入图片描述
在这里插入图片描述

4.补充源码

打开工程后,找到回调函数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在主函数中重写该函数即可:

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
/* USER CODE BEGIN PV */
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{if (htim == (&htim6)){/*自己的业务逻辑*/}
}
/* USER CODE END PV */

在main.c主函数上方初始化使能定时器:

  /* USER CODE BEGIN 2 *//*使能定时器1中断*/HAL_TIM_Base_Start_IT(&htim6);/* USER CODE END 2 */

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

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

相关文章

vue2源码解析——vue中如何进行依赖收集、响应式原理

vue每个组件实例vm都有一个渲染watcher。每个响应式对象的属性key都有一个dep对象。所谓的依赖收集,就是让每个属性记住它依赖的watcher。但是属性可能用在多个模板里,所以,一个属性可能对应多个watcher。因此,在vue2中&#xff0…

Practice of PILos——transform np.array into img ,store in batch

先放上源码 import os import shutil import subprocess import tarfileimport os import pandas as pd import numpy as np from PIL import Image# Set up Kaggle API credentials kaggle_json_path os.path.expanduser("~/.kaggle/kaggle.json")if not os.path.…

UR SIM

详细Ubuntu 22.04 配置最新UR机械臂仿真环境(ros2-humble, ur-sim, ur-ros2-driver) ur_robot_driver官方教程-UR仿真器部分 Setup URSim with Docker universalrobots/ursim_cb3 - Docker Image | Docker Hub UR5机器人学习之TCP/IP通讯 使用Docker设置URSim 设置自己的 …

github 多个账号共享ssh key 的设置方法

确认本机是否已有ssh key 首先确认自己系统内有没有 ssh key。 bash复制代码cd ~/.ssh ls *.pub # 列出所有公钥文件id_rsa.pub若有,确认使用当前 key 或者生成新 key,若没有,生成新 key。由于我需要登录两个帐号,所以在已经存在…

uni-app自定义导航栏下拉刷新实现

【z-paging下拉刷新、上拉加载】高性能,全平台兼容。支持虚拟列表,分页全自动处理 - DCloud 插件市场 先记录一个插件,后续更新

【WPF应用31】WPF基本控件-ListView的详解与示例

WPF(Windows Presentation Foundation)是.NET框架的一个组成部分,它用于构建桌面应用程序的用户界面。ListView是WPF中一个非常强大的数据展示控件,它可以用来显示一系列的项,类似于Windows资源管理器中的文件列表。Li…

MyBatis动态SQL--where 标签

在上一章中的介绍if 标签时,其实我们发现了一个问题,就是当所有条件都为空时,sql语句会多出来一个where,而且有时候会多出来一个and等等。 而where标签的作用就是为了解决这类问题,where 标签可以自动去除多余的where…

Java基础 - 10 - File、IO流(一)

File:代表文本 IO流:读写数据 一. File File是java.io.包下的类,File类的对象,用于代表当前操作系统的文件(可以是文件或文件夹) 注意:File类只能对文件本身进行操作,不能读写文件里…

区块链技术的基本概念学习

1.去中心化 去中心化就是你我之间转账,不依赖于银行或支付处理公司。 2.区块链网络 区块链网络是由分布在全球的节点组成,每个节点都有完整的区块链副本。 3.区块 区块就是区块链中的的一个块,这个块里面包含了很多信息,如交…

搜维尔科技:TechViz 虚拟现实在工业项目中沉浸式体验

TechViz虚拟现实在工业项目中沉浸式体验 搜维尔科技:TechViz 虚拟现实在工业项目中沉浸式体验

Deepface Lab2.0参数选取建议

制作非常基本和低质量/分辨率的 Deepfakes 的最低要求: - 支持 AVX 和 SSE 指令的现代 4 核 CPU - 16GB RAM - 具有 8GB VRAM 的现代 Nvidia 或 AMD GPU - 充足的存储空间和大页面文件 确保启用硬件-加速 Windows 10/11 下的 GPU 调度并确保您的 GPU 驱动程序是最新…

MyBatis动态SQL--if 标签

mybatis动态sql对我们来说是非常常见的,比如在下面这样一个场景中, 我们需要多条件查询,但是查询的条件又不是固定的,是可以动态改变的,那我们就需要用到动态sql去完成。 动态SQL之 if 标签 接下来我们介绍第一个动态…

Day43 动态规划 part05

Day43 动态规划 part05 1049.最后一块石头的重量II 我的思路: 提示说和划分两个和相等的子集差不多,猛然想到,这道题不就是划分子集,用sum - 和最大*2 代码就是划分和相同的子集的变形 解答: class Solution {public int last…

【JavaScript】函数 ⑥ ( 使用 arguments 获取所有实参 | arguments 内置对象 | 伪数组概念 )

文章目录 一、使用 arguments 获取所有实参1、arguments 内置对象2、伪数组概念3、arguments 实参遍历4、arguments 代码示例 - 基本使用5、arguments 代码示例 - 遍历实参 一、使用 arguments 获取所有实参 1、arguments 内置对象 在 定义 JavaScript 函数 时 , 有时 不确定 形…

使用LangChain编写图检索查询实现RAG

大家好,检索增强生成(Retrieval-Augmented Generation,简称RAG)是一种先进的人工智能技术,通过整合大型语言模型(LLM)的内部知识和外部权威数据源,来提升生成式AI模型的表现。 本文…

安全可靠!麒麟信安操作系统各版本均不受liblzma/xz漏洞影响!

近日,XZ Utils 5.6.0和5.6.1版本存在严重后门风险的消息披露后,麒麟信安立即展开全面排查,经分析验证,麒麟信安操作系统各版本均不受liblzma/xz漏洞影响。 关于liblzma/xz漏洞 漏洞描述 xz 5.6.0 与 5.6.1 版本的上游代码中发现…

ComplexHeatmap绘图:注释、图例、热图基础(自备)

目录 基础介绍 Heatmap绘图基础参数 数据 作图参数 Heatmap Annotations(注释) 基础注释设置 简单注释测试 anno_points散点注释 anno_lines连线注释 anno_barplot条形图 anno_boxplot箱线图 anno_histogram直方图 热图组合 基础组合 进行…

【热门话题】文言一心与ChatGPT-4:一场跨时代智能对话系统的深度比较

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 文言一心与ChatGPT-4:一场跨时代智能对话系统的深度比较一、技术背景…

Maven--lib分离的打包方式

就是把lib包和source源码分开打包。优势就是,面对频繁更新的应用场景时,可以只更新源码包(当然,前提是你的依赖没有增减)。尤其是使用jenkins更新项目时,会省去很多时间吧? 不同项目的 lib之间不…

SQL语句生成器,支持MSSQL/MYSQL/SQLITE/ACCESS/EXCEL

经过7个月的艰苦开发,SQL语句生成器终于和各位见面了,因为工程量浩大,一度做到崩溃,差点烂尾,好在经过N次激烈思想斗争后还是坚持了下来累累累累累累累 本软件能够自动生成SQL语句及对应的易语言代码,还有相…