要用到的函数如上图。

以捕获高电平为例,会出现上面两种情况:1、在一次溢出前高电平已经结束;2、在N次溢出后高电平才结束。

高电平持续时间的计算原理:以STM32F407的定时器1为例,定时器1的时钟为168MHZ,令Prescaler=168-1后,可算出捕获时间精度为1us/次,即CNT的值每增加一次就会经过1us。定时器的溢出时间为(Period+1)us。所以两种情况下的高电平时间为:1、高电平时间=CNT(单位:us);2、高电平时间=N*(Period+1)+CNT(单位:us)。

根据计算原理,我们需要使用输入捕获中断来处理捕获的事件,使用更新中断来记录溢出次数。

程序流程图如下

补:1、发生跳转时CCRx寄存器会保存当前CNT的值,获取当前CCRx的值的函数为:

HAL_TIM_ReadCapturedValue(TIM_HandleTypeDef *htim, uint32_t Channel)

2、清除CCER寄存器原来的设置的函数为:

TIM_RESET_CAPTUREPOLARITY(__HANDLE__, __CHANNEL__)

3、配置CCER寄存器的函数为:

TIM_SET_CAPTUREPOLARITY(__HANDLE__, __CHANNEL__, __POLARITY__)

第三个参数为TIM_ICPOLARITY_FALLING时下降沿捕获,为TIM_ICPOLARITY_RISING时上升沿捕获。

4、关闭、使能定时器函数为:

__HAL_TIM_DISABLE(__HANDLE__)
__HAL_TIM_ENABLE(__HANDLE__)

5、清零CNT的函数为:

__HAL_TIM_SET_COUNTER(__HANDLE__, __COUNTER__)

第二个参数为0时,清零。

STM32F407-高级定时器输入捕获功能相关推荐

  1. STM32笔记——定时器输入捕获功能(测量PWM的频率和占空比)

    目录 一.概述 二.输入捕获功能 2.1 输入捕获简介 2.2 输入捕获通道 三.输入捕获功能测量PWM波的频率和占空比 3.1 测量频率的方法 3.2 测量过程 一.概述 主要介绍通用定时器的输入捕 ...

  2. STM32F103定时器输入捕获功能

      STM32F103单片机的定时器不仅能输出PWM波,而且还能捕获输入的PWM波.可以通过定时器的捕获功能测量输入PWM波的周期和占空比.其中定时器的输入捕获功能如下:   在输入捕获模式下,当检测 ...

  3. STM32F407定时器输入捕获

    STM32F407定时器一共有14个.其中分为基本定时器.通用定时器.高级定时器.具体功能如上图所示.下面介绍下输入捕获模式. 输入捕获:通过检测TIMx_CHx上的边沿信号,在边沿信号发生跳变的时候 ...

  4. 华大HC32-(05)-定时器输入捕获

    一.开发环境及工具 HC32F003 / HC32F005 Keil uVision5 V5.33 / IAR For ARM 7.80.4 (J-Link) 此工程源码下载路径 : https:// ...

  5. STM32定时器输入捕获

    5.STM32定时器输入捕获 前言: STM32定时器输入捕获简介 STM32的输入捕获可以用于捕获脉宽, 测量时间 . 例如超声波测距模块就是需要用输入捕获功能, 通过测量输入脉冲的高电平脉宽 , ...

  6. STM32 输入捕获功能

    目录 01.STM32捕获功能 02.输入捕获过程 03.代码配置 本文将介绍通过STM32的定时器输入捕获,如果对定时器不太熟悉的同学可以看下之前的文章<STM32基础定时器详解>,关于 ...

  7. 【STM32】【STM32CubeMX】STM32CubeMX的使用之七:定时器输入捕获实现超声波测距

    文章目录 0.前言 1.硬件设计 1.1.超声波模块 1.2.STM32L151 2.CubeMX配置 3.软件设计   下载工程文件:   https://gitee.com/Joseph_Coop ...

  8. STM32-通用定时器-输入捕获

    1.概述 前面,我们介绍了STM32F1的通用定时器作为PWM输出的使用方法,这一章我们向大家介绍通用定时器作为输入捕获的使用.在本章中,我们将用TIM5的通道的通道1(PA0)来做输入捕获, 捕获 ...

  9. STM32F4_定时器输入捕获详解

    目录 1. 输入捕获简介 2. 输入捕获框图 3. 输入捕获模式 4. 相关寄存器 4.1 TIMx_ARR.TIMx_PSC 4.2 捕获/比较寄存器1:TIMx_CCMR1 4.3 捕获/比较使能 ...

最新文章

  1. 《大数据算法》一1.2 大数据算法
  2. java高并发(十三)并发容器J.U.C--AQS
  3. Facebook 上一位大佬发表的代码看法
  4. resnet18到resnet152模型pytorch实现
  5. java学习(32):巩固练习
  6. ip访问次数统计 nginx_Linux分析Nginx日志统计IP访问次数的shell脚本
  7. 理解图像配准中的LMeds、M-estimators与RANSAC算法
  8. c语言怎么算n以内素数,关于求N以内素数的一点小问题(N小于一亿)
  9. 数据预处理第1讲:标准化
  10. ArrayList LinkedList
  11. MDM主数据平台使用总结
  12. 【强烈建议收藏保存】70多个免费实用工具,数字激活、数据恢复、配置检测......
  13. Java PdfBox 提取指定PDF页面图片
  14. 大数据时代没有隐私,我们都在裸奔
  15. 打开计算机 显示不支持此接口,新装的电脑系统,打开图片提示不支持此接口!怎么解决!...
  16. 信创大事件 | 2022“国民云计算品牌”正式放榜
  17. 男孩女孩和他们的父母的有趣问题
  18. 北京将评估特定时段特定区域机动车单双号限行-单双号-限行
  19. python广州地图_手把手教你用Python+可视化工具制作漂亮地图
  20. OpenVAS破绽扫描根底教程之OpenVAS概述及安装及配置OpenVAS服务

热门文章

  1. C++ 中的时间测试与空间申请
  2. 魔百盒CM211-2,长虹代工,MV310芯,强刷固件
  3. 基于Python的企业级运维平台 了解一下?
  4. 【总裁云】王文京:强攻推进!用友云吹响云服务阵地战冲锋号
  5. 使用FRP远程访问TP-LINK路由器管理页面
  6. 2021最新IDEA初级入门详细教程流出,开发组小伙伴怒赞
  7. TP5.1中间件的使用
  8. 6.7绝地求生服务器维护,绝地求生6月5日更新维护全内容及官方更新时间
  9. STIPC_编程挑战系列赛第一场(小郭的故事)_A.小郭最爱签到题
  10. Python——列表元素的排序