打印

STM32 通用定时器 输入捕获 测量脉宽例程,并做了超时处理,欢迎下载。

[复制链接]
370|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
3月的尾巴|  楼主 | 2020-4-2 13:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32 通用定时器 输入捕获 测量脉宽例程,并做了超时处理,欢迎下载。
1-该例程已经在霸道和指南者上验证过
2-用的是TIM5的通道1,即PA0来测量高电平的时间,在霸道和指南者上,PA0接的是按键K1,默认接GND,当按键按下的时候接3V3,刚好可以用做输入捕获
3-当你把该例程移植到其他开发板或者其他GPIO的时候,需要认真看懂例程才行

例程说明
1-定时器的计数器的驱动时钟配置为1M,即精度为1us,当高电平的时间小于1us时是测量不到的。
2-能一次测量的最大的高电平为 1us * ARR = 1us * 65535 us = 655.35ms,当超过这个时间时,定时器会溢出,这个时候需要做溢出处理。如果没有溢出则直接读取捕获比较寄存器的值就可算出脉冲的时间。
3-当定时器发生溢出时,我们应该在中断里面对溢出做标记,最后把这个溢出的时间加到脉宽的时间里面。溢出一次的时间为 655.35ms,两次则为655.35*2ms,以此类推。

使用特权

评论回复
沙发
触觉的爱| | 2020-4-2 19:10 | 只看该作者
这帖子有点奇怪,下载什么东东?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

433

主题

433

帖子

0

粉丝