STM32cubemx教程及STM32入门(三)定时器 2022.8.23

简介

(hello大家好我又回来了,鸽了这么久十分抱歉,各位看官老爷轻喷。博主又要参加电赛了,刚好准备把去年学过的32资料再翻出来整理成博文,也刚好复习一下。今年前半年因为疫情原因一直在家摆烂,接下来几个月会两日一更,哈哈哈大家监督我。)
话不多说,我们进入正题
本章主要讲解STM32的定时器以及帮助大家使用CubeMX编写定时器中断程序,进行HAL库的学习和使用。

STM32定时器介绍

单片机的定时/计数器,故名思义就是用于精确定时一段时间后,执行特定代码程序的用途。使用定时器会比使用软件延时函数(delay)更加精准,举例应用如,基于STM32的频率计。定时器往往结合中断程序一起使用。
以STM32F103系列产品为例,其拥有:
4个通用定时器(TIM2~TIM5)
2个高级控制定时器(TIM1和TIM8),功能更强大
2个基本定时器(TIM6和TIM7),主要用于产生DAC触发信号
1个实时时钟(RTC)
2个看门狗定时器
1个系统滴答定时器(SysTick时钟),主要用于精确延时(delay函数)

通用定时器结构

(定时器时钟源结构图)

(时钟单元结构)

时钟源的选择

除内部时钟外,其他3种时钟源通过TRGI(触发)输入
(1)内部时钟,值得主要的是,定时器的内部时钟源不是直接来着APB1或APB2,而是APB1或APB2的一个倍频器
(2)外部时钟模式1,通过外部输入脚(TIx),包括外部比较捕获引脚TIF_ED,TI1FP1,TI1FP2。计数器可以在选定引脚的上升沿还是下降沿开始计数
(3)外部时钟模式2,计数器在ETR引脚的上升沿或下降沿开始计数
(4)内部触发输入(ITRx,x=0~3)意思是可以配置一个定时器作为另一个定时器的预分频器

定时器计数模式

向上计数模式
向下计数模式
中央对齐计数模式

定时时间计算

参考上面的结构图

我们能看到三个重要的寄存器
预分频器(PSC)
计数器(CNT)
自动重装载寄存器(ARR)

计数器寄存器 (TIMx_CNT)存储的是当前的计数值。预分频器 (TIMx_PSC)为多少个SK_PSC脉冲计数一次,预分频器的值为1(预分频寄存器默认为0,为不分频),则为两个脉冲计数一次。即为二分频。简单来说,如果要10000分频,则预分频器的值为10000-1。
自动重装寄存器 (TIMx_ARR)存储的是计数器的溢出值,例如,计数器递增计数到36计数器溢出,触发一次事件。而实际上为37个脉冲触发一次溢出事件(从0开始计数)。
记住该公式即可,大家一定要熟练掌握定时时间计算!!!!!!!!!

使用STM32Cubemx编写定时器中断程序的步骤

首先和之前一样,我们先选择HSE外部晶振
然后开始配置时钟树,设置如下图所示,使定时器主频为72MHz。而TIM2是挂接在APB1上的,所以也就是要让APB1这儿最终为72MHz

接着回到pinout&configuration界面,选择左边timers中的定时器,以TIM2为例,下图正中即为TIM2配置界面
简单介绍一下各个配置选项
Slave Mode和Trigger Source都是用于上文说到的设置定时器主从配置的选项,暂时用不到
Clock Source:定时器时钟源,选择Internal Clock
下面的Channel全关disable即可
然后看正下方,如下图所示
填入PSC的值为35999
触发模式为上升沿触发(也可以选择down为下降沿)
ARR的值为999
CKD(时钟分频因子)选择no Division不分频
preload这项是定时器使能,选enable
这样填ARR和PSC的值实现的是主频72MHz定时器定时0.5s

不会计算的去前面看公式和那个例题

接下来开定时器中断

最后就是generate,下图为使用clion的配置演示(注意第一个红圈文件名要和clion里面生成的ioc文件名一样,否则不能覆盖),如果是用keil的朋友,IDE那一个红圈那要选MDK-ARM
这是TIM2初始化函数,里面就是我们刚才的配置代码和一些异常接口
这是和定时器相关的一些函数,我们了解一下就行我们只要在中断回调函数HAL_TIM_PeriodElapsedCallback()中编写程序就可
即在main函数中重写中断回调函数

STM32cubemx教程及STM32入门(三)定时器相关推荐

  1. STM32cubemx教程及STM32入门(五)IIC

    STM32cubemx教程及STM32入门(五)IIC 2022.8.25 前言 本章主要讲解IIC协议以及stm32cubemx配置和HAL库函数 简介 I2C(Inter-Integrated C ...

  2. 嵌入式STM32入门之定时器控制LED闪烁与产生PWM脉冲宽度调制信号

    定时器控制LED闪烁与产生PWM脉冲宽度调制信号 一.前言 二.定时器基本介绍 (一)STM32定时器 (二)通用定时器主要功能 (三)计数器模式 (四)定时器工作原理 三.实验(1)初识定时器 (一 ...

  3. (实测可用)STM32CubeMX教程-STM32L431RCT6开发板(定时器Timer2)

    一.开发板平台简介: (1)开发板主芯片型号:STM32L431RCT6 (2)开发板主芯片封装:LQFP-64_10x10x05P (3)开发板主芯片内核:ARM® Cortex®-M4 (4)开发 ...

  4. stm32入门——定时器中断和中断优先级简介

    stm32入门--定时器中断 产生定时中断是定时器的用法之一,与定时器用来进行PWM输出和输入捕获相比,定时器中断更容易理解.掌握. 原理简介 使用通用定时器进行中断的原理,其实和开发板Systick ...

  5. 【STM32】HAL库 STM32CubeMX教程六----定时器中断

    前言: 今天我们来学习定时器,32的定时器有着非常丰富的功能, 输入捕获/输出比较,PWM,中断等等.是我们学习STM32最频繁使用到的外设之一,所以一定要掌握好,这节我们讲解定时器中断,本系列教程将 ...

  6. 基于Proteus无实物零基础STM32入门自学教程(七)--定时器点亮LED

    简介:本项目为基于STM32F103R6为核心定时器点亮LED工程.在第一个任务里我们点亮LED是使用延时点亮.从这一讲我们开始学习真正的定时器使用方法,而这种方法是最接近实际应用的.实际应用中几乎不 ...

  7. 【STM32】HAL库 STM32CubeMX教程十一---DMA (串口DMA发送接收)

    前言: 本系列教程将 对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 所用工具: 1.芯片: STM32F407ZET6/ STM32F103ZET6 ...

  8. 【STM32】HAL库 STM32CubeMX教程十---DAC

    前言: 本系列教程将 对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 所用工具: 1.芯片: STM32F407ZET6/ STM32F103ZET6 ...

  9. 【STM32】HAL库 STM32CubeMX教程九---ADC

    前言: 本系列教程将 对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 所用工具: 1.芯片: STM32F407ZET6/ STM32F103ZET6 ...

  10. 【STM32】HAL库 STM32CubeMX教程十五---FMC-SDRAM(二)

    前言: 本系列教程将HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 上一讲我们说了CubeMX配置SDRAM的一些基本配置,还有FMC跟SDRAM的讲解,这一讲我们 ...

最新文章

  1. 滚动联动-单独滚动与文档滚动
  2. 猎豹MFC--TH_双管道--对管道的操作就想对文件的操作一样
  3. [JS] 动态修改ckPlayer播放器宽度
  4. 什么是 SAP Spartacus UI 的 direction 服务
  5. go micro java_Java Micro Framework:您无法忽略的新趋势
  6. 制作简单的WIFI干扰器
  7. 顶会论文看不懂?阿里巴巴技术专家为你全方位解读!
  8. SpringBoot POM说明
  9. python 笔记(一)
  10. mdstyle暂存备用
  11. poj3274 找平衡数列(哈希加一点数学思维)
  12. 如何通过VISIO来画网络拓扑图
  13. 概率逗号分号_概率P中有多个逗号表示什么意思
  14. 什么是pid控制算法_控制算法原理及实现之PID(以飞控为例)
  15. html table相同值合并单元格,ElementUI表格列相同值自动合并单元格( 单列 )
  16. 用大数据看懂《速度与激情》的用车法则
  17. 2012年世界500强排行榜(企业名单)
  18. 8086汇编(7、80x25彩色缓冲区)
  19. 怎么把数据文件上传云服务器,怎样把数据上传到云服务器
  20. 中国合成革行业应用发展分析与销售前景研究报告2022版

热门文章

  1. Ajax请求回调函数没有被调用
  2. 计算机系军训横幅,军训横幅标语有创意精选100句
  3. android usb 网卡驱动,安卓系统手机USB网络驱动
  4. 模仿全能扫描王实现文档和证件扫描
  5. IPS与IDS部署场景
  6. c语言成绩统计表,《小学期末考试成绩统计表五.xls》-支持高清全文免费浏览-max文档...
  7. 读书笔记-《墨菲定律》
  8. Python基础之文件操作
  9. 王大锤:看到金仓的数据恢复方案,我彻底服了
  10. 学前儿童健康教育 复习资料 渝粤题库整理