利用函数TIM_GetCounter(TIMx)获取上升沿和下降沿的CNT值,根据计数频率进行计算。
这里采用的方式是输入捕获,输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32的定时器,除了TIM6、TIM7,其他的定时器都有输入捕获的功能。下面以一个简单的脉冲输入为例,简单地讲述一下输入捕获用于测量脉冲宽度的工作原理:
PWM图
先设置输入捕获为上升沿检测,记录发生上升沿时TIMx_CNT的值。然后配置捕获信号为下降沿捕获,当下降沿到来的时候发生捕获,并记录此时的TIMx_CNT的值。这样,前后两次TIMx_CNT的值之差就是高电平的脉宽。同时根据TIM的计数频率,我们就能知道高电平脉宽的准确时间。
2-3时间为t1,4-5时间为t2,这样一个周期内高电平脉宽时间占比t1/(t1+t2)
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
STM32
+关注
关注
2265文章
10870浏览量
354682 -
定时器
+关注
关注
23文章
3237浏览量
114432
发布评论请先 登录
相关推荐
求:基于555定时器的脉宽检测电路!
如题,求一个基于555定时器的脉宽检测电路!之前在网上和书上找过这一电路,但应用到实际时却不尽如人意!在书上找到的电路图:我本来想用在无人机上做一款电子遥控开关,但经过试验,并不能按预想在脉
发表于 07-24 16:24
【STM32F4】HAL库 CubeMX(九)--------定时器输入捕获实验 精选资料推荐
输入捕获的使用。在本章中,我们将用 TIM5 的通道 1(PA0)来做输入捕获,捕获 PA0 上高电平的脉宽(用 KEY_UP 按键输入高电平),通过串口打印
发表于 08-17 08:43
定时器输入捕获实验概述
为下降沿捕获,当下降沿到来时,发生捕获,并记录此时的 TIM2_CNT 值。这样,前后两次 TIM2_CNT 之差,就是高电平的脉宽,同时 TIM2 的计数频率我们是知道的,从而可以计算出高电
发表于 01-06 08:21
STM32 通用定时器 输入捕获 测量脉宽例程,并做了超时处理
STM32 通用定时器 输入捕获 测量脉宽例程,并做了超时处理,欢迎下载。1-该例程已经在霸道和指南者上验证过 2-用的是TIM5的通道1,即PA0来测量
发表于 12-05 15:00
•46次下载
[STM32]通用定时器的使用
什么是PWM2.通过改变脉宽来改变亮灭程度总结前言首先还是要了解STM32库函数中提供的使用定时器所需要配置的结构体成员的含义typedef struct{ uint16_t TIM
发表于 11-22 19:06
•24次下载
基于定时器捕获测量脉宽的应用示例
我们知道,利用单片机定时器捕获功能测量脉冲信号宽度及占空比是种很常见的做法。这里以STM32的定时器为例来介绍基于其捕获功能实现对脉宽的测量
发表于 11-26 16:36
•9次下载
STC用PCA测量脉宽_「话说定时器系列」之十:PWM输入模式测量脉宽及占空比实验...
TIMER 的基本应用原理、常规应用等。现在将课程内容整理为文章,针对STM32定时器有基本了解的用户,分享具体的应用实现环节及常见问题解决。1. 实验内容使用STM32定时器PWM
发表于 12-27 19:02
•2次下载
电工知识—SIMATIC S7-1500 PLC定时器—脉冲和扩展脉冲时间定时器
SP:产生指定时间宽度脉冲的定时器。当逻辑位有上升沿时,脉冲定时器指令启动计时,同时节点立即输出高电平“1”,直到定时器
评论