分享定时器输入捕获程序,直接操作寄存器(看手册配置成功)

2019-07-21 08:11发布

 刚刚开始做定时器输入捕获的时候在这个论坛上找了好久,都没有人分享,也有很多人问,无奈自己动手写了。花了一天的时间,这个东西真的不好写了,对比了库的例子,仿真,等。可以说付出了很多。现在完成了和大家分享。希望大家多多支持。 程序说明:1、程序中定时器4的PB6用于输出频率为1K,占空比为50%的PWM信号。
               2、定时器2的PA0用于输入捕获,当程序下到板子上,只有两个脚连在一起才会发生捕获。
               3、串口用于发送捕获的值到PC机上。

我在这里再声明一下,如果你捕获的信号不是1K,那要先经过计算ARR和分频,在这里改Capture_Init(2000,72-1);
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
49条回答
tian123chi
1楼-- · 2019-07-25 15:23
楼主不是我的救命稻草了,简直是草堆,嘿嘿。
梧桐雨0113
2楼-- · 2019-07-25 18:32
 精彩回答 2  元偷偷看……
回首看那个曾经的我
3楼-- · 2019-07-26 00:32
回复【33楼】梧桐雨0113:
---------------------------------
可以的。Capture_Init(64000,120-1);//预装载值最大为65536,
比如你要测量到10HZ,那么设预分频数为psc,预装载数为arr,则72000000/psc为测频量程;则每个计数值为量程除以arr,那么10HZ最少预装载值为:arr=(72000000/psc)/10HZ。例如配置Capture_Init(64000,120-1);这样就可以测量到10HZ了。
回首看那个曾经的我
4楼-- · 2019-07-26 02:43
回复【30楼】天亮了187:
---------------------------------
回复【21楼】正点原子:
---------------------------------
TIM3->SMCR|=0x00D4; 貌似在捕获时没用啊。这是干什么用的?跟从模式有关吗?去掉的话测频就没用了。。。
云中的太阳
5楼-- · 2019-07-26 03:47
正在找相关的程序,谢谢楼主
mylsf
6楼-- · 2019-07-26 05:26
靴子了,学习了

一周热门 更多>