6.关于定时器

本文详细探讨了STM32微控制器中的定时器功能,包括如何配置寄存器以实现不同类型的定时任务,如脉冲产生、延时操作等。通过对定时器的工作原理和寄存器设置的解析,读者将能深入理解STM32定时器的使用方法。
摘要由CSDN通过智能技术生成
关于定时器把,真的没什么好说的了
简单谈下把
1.定时
2.捕获
3.ETR2
4.PWM
5.......
/*********************************************************************************************************/
1.定时 
  就那样,自己看去吧,没什么好说的
2.捕获
  捕获把,也很简单,唯一有个缺点,最近刚发现的,就是测量频率也不是很准,在低频段,当然这是相对的,
  对于某些情况来说,这些精度已经很高了,但是相对下面这种方法来说,简直就是渣渣。好吧,至于捕获
  也不是很难,自己去查查资料吧
  突然想起来有个用捕获测低频段的占空比的,蛮准确的,是吧,就是捕获的时候,一个来测上升沿,
  另一个来测下降沿,然后进行处理吧,就这么简单,精度也贼高,当初在屏上显示,基本实现无误差
3.ETR2
  外部时钟模式2,其实就是一个计数器,对接入的引脚脉冲不断进行计数,好吧,很简单吧,最当初关于
  这个东西,研究了很久,本来以为研究透了,后来发现,用定时器级联并不能成功实现测频率,就是最下
  面的,不管是ETR作为主还是从,都实现不了,其实要用定时器级联的主要原因是为了实现同步,
  是海螺在群里跟我说的,当时以为找到原因了,后来发现并不是这样的,同步吧,很简单,就是从触发主
  然后开始计数,并且计数是在从的第一个边沿开始计数的,这样就很准确了,还有吧,就是一般的思维都是
  正向的,也就是说,我定时1s来计数,看看1s内有多少个脉冲,这样在高频误差特别小,但是在低频段的时候,
  误差蛮大的,2HZ测得1HZ,你说误差大不大?然后最下面都详细介绍有解决办法,但是由于水平有限,无奈吧
  海螺大腿一下子就能搞好。我搞了这么久还是没搞出来,没办法啊,明明知道更有的解决办法,但是吧....
  好了,不扯了,简单说下解决办法,后来把,试了好多次,决定还用1s内脉冲计数来测频率,但是采用的是
  另一个独立的定时器,专门计时1s然后对ETR2计数来进行处理,然后显示,这样误差只能尽量减小,这也是
  没办法的办法了,再到后来用寄存器写这个测量的时候,发现误差贼小啊,当初把我乐坏了,感觉同步开始的
  和N个脉冲内用了多少时间的这两个方法的误差一下子补回来了,不过上限不是很高啊,只有36M,从1HZ到36M,
  误差只有4.5*10-5,我也没想到啊,当初15年频率计的题目要求是1*10-4,完全达到要求啊,但是上限15年
  发挥要求直到100MHZ,简直是既要马儿跑,还不要马儿吃草,无奈啊,说下解决办法吧,我的ETR是默认一分频
  的,所以喽,你应该想到,改为最大八分频,至于多少,你看着办吧,只要在测量误差不会出现很大的波动的
  情况下,尽量满足题目要求吧。不过吧,这种事情,很多情况下都是难两全,看要求吧。
  行吧,ETR就介绍到这里了,你不妨自己动手试试,很有意思的
4.PWM
  这个没得说的,很简单,就是输出比较。自己查资料去吧

5.还有一点想说的,就是对定时器的分类有了新的理解,之前只知道是除了高级定时器,其他应该都一样吧
  直到今天才发现是有区别的,
  比如
  1.高级定时器,加了各种互补PWM输出和带死区控制的各种神奇的东西
    就是功能更多,更加厉害,不过吧,既然你都这样了,就只能担任更多的责任了。
  2.通用定时器 有32位的也有16位的是吧,我通常用定时器2和5(32位)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值