利用函数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
+关注
关注
2239文章
10671浏览量
348735 -
定时器
+关注
关注
23文章
3147浏览量
112034
发布评论请先 登录
相关推荐
求:基于555定时器的脉宽检测电路!
如题,求一个基于555定时器的脉宽检测电路!之前在网上和书上找过这一电路,但应用到实际时却不尽如人意!在书上找到的电路图:我本来想用在无人机上做一款电子遥控开关,但经过试验,并不能按预想在脉
发表于 07-24 16:24
请问STM32F103怎样用定时器来测出某个高电平的时间?
刚接触STM32F103没多久,我想用定时器(比如TIM2)去测量某个高电平的时间,即从上升沿到下降沿的时间。现在我不清楚改怎样设置使用库函
发表于 08-28 10:55
怎么用定时器和外部触发同步在高电平时计数器计数
我使用的单片机是STM32F103VC外部芯片连接到单片机PB9(96脚 可复用为TIM4_CH4),正常情况下,外部芯片输出16.384KHz的时钟,有故障时输出高电平。用定时器如何做。但最好
发表于 05-14 11:56
定时器捕获电平时间
输入捕获实验首先,先让定时器可以正常的计数,就是对定时器预分频值,预装载值,这个如何配置在定时器中断实验里面已经学习过了了。我们需要的是在这基础上,用这个定时器去捕获输入
发表于 03-27 14:29
【STM32F4】HAL库 CubeMX(九)--------定时器输入捕获实验 精选资料推荐
输入捕获的使用。在本章中,我们将用 TIM5 的通道 1(PA0)来做输入捕获,捕获 PA0 上高电平的脉宽(用 KEY_UP 按键输入高电平),通过串口打印
发表于 08-17 08:43
定时器输入捕获实验概述
为下降沿捕获,当下降沿到来时,发生捕获,并记录此时的 TIM2_CNT 值。这样,前后两次 TIM2_CNT 之差,就是高电平的脉宽,同时 TIM2 的计数频率我们是知道的,从而可以计算出高电
发表于 01-06 08:21
获取KEY_UP的高电平脉冲时间
的时间。在此图中我们要计算的是上升沿到下降沿之间的时间,也就是t2-t1的区间。计数器值最大不超过0xffffffff,但是到达最大值只能记一次循环,然后再从0开始计数。时间总计数 =
发表于 01-06 07:59
电工知识—SIMATIC S7-1500 PLC定时器—脉冲和扩展脉冲时间定时器
SP:产生指定时间宽度脉冲的定时器。当逻辑位有上升沿时,脉冲定时器指令启动计时,同时节点立即输出高电平“1”,直到定时器
评论