OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6387|回复: 5

我用TIM1 进行脉宽频率计算,捕获的是50HZ 的信号算出来是25HZ

[复制链接]

13

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
258
金钱
258
注册时间
2014-11-5
在线时间
46 小时
发表于 2014-11-21 14:25:52 | 显示全部楼层 |阅读模式
5金钱
用的是STM32F207 ,TIM1 总线频率是120M ,我进行了2400分频 ,那一个时钟周期是2400/120000000 = 0.02ms ,我通过ccr获得的高电平脉宽计数为1000,那一个周期就是2000,2000*0.02=40 ms=0.04s,1/0.04 =25hz。 我纳闷了。
请问,tim1时钟个数 TIM1->CNT 中的差值 就是代表高电平脉冲的个数 对吧。 我就进行了 时钟的分频 ,别的地方都没分频啊,为什么正好差1/2. 

最佳答案

查看完整内容[请看2#楼]

找到问题了,设置没问题,改成捕获两个上升沿计算一个周期就对了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
258
金钱
258
注册时间
2014-11-5
在线时间
46 小时
 楼主| 发表于 2014-11-21 14:25:53 | 显示全部楼层
找到问题了,设置没问题,改成捕获两个上升沿计算一个周期就对了
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2014-11-21 16:49:37 | 显示全部楼层
你程序对吗?和原子的一样吗?
你光说差,我的差就是两个上升沿的差,当然是一个周期了。
小小蜗牛
回复

使用道具 举报

13

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
258
金钱
258
注册时间
2014-11-5
在线时间
46 小时
 楼主| 发表于 2014-11-21 18:01:18 | 显示全部楼层
回复【2楼】jiutianshenjian:
---------------------------------
我捕获的是高电平脉宽,就是上升沿计数一次,下降沿计数一次。得到的值是1000,要是捕获两次上升沿我也试了试2000。不是这的问题。
rcc初始化得到的AHB 是120M ,然后分频APB2为60M ,分频系数是2,然后到TIM1要乘以2,所以TIM1 时钟还是120M 啊,简直醉了,找了2天不知道哪里有错误。我是反推的话 我的定时器频率为240M ,那半个周期计数1000 ,测量50HZ是对的,但是总线频率最高120M。。
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2014-11-21 18:40:33 | 显示全部楼层
回复【3楼】jklw0713:
---------------------------------
你把程序弄出来给他们看看啊。
小小蜗牛
回复

使用道具 举报

13

主题

225

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
289
金钱
289
注册时间
2013-11-12
在线时间
29 小时
发表于 2014-11-21 21:39:01 | 显示全部楼层
我用这个做了个,但是频率高了点的话测出来的误差大得很啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-28 22:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表