学习stm32(基于mini板)

学习目标:

了解输入捕获


学习内容:


 上面是输入捕获的原理图

假定定时器工作在向上计数模式,t1到t2就是我们测量高电平时间。方法如下

首先设置定时器通道x为上升沿捕获,这样t1时就会捕获到当前的CNT值,然后清零CNT并设置通道x为下降沿捕获,这样到t2时刻又会发生捕获事件,得到当前的CNT值计为CCRx2

这样根据定时器的计数频率我们就可以算出t1~t2的时间,从而得到高电平脉宽

 当然在t1~t2之间可能产生N次定时器溢出这样就需要我们对溢出做出处理,防止高电平过长

导致数据不稳定。CNT计数的次数等于:N*ARR+CCRx2,有了这个计数次数,再乘以CNT的计数周期,即可得到t2-t1的时间长度,即高电平持续时间。

这就是输入捕获的原理

下面是代码部分

void TIM2_cap_Init(u16 arr,u16 psc)
{
	GPIO_InitTypeDef GPIO_InitStructure;
	TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
	NVIC_InitTypeDef NVIC_InitStruct
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值