OpenEdv-开源电子网

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

大频率计数,小频率计时,频率计的设计

[复制链接]

2

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2019-6-29
在线时间
13 小时
发表于 2019-8-1 17:17:59 | 显示全部楼层 |阅读模式
4金钱
最近在用555的rc振荡电路设计一个测量电容电阻的电路。其中测量频率我们打算用stm32来实现,目前进度已经到用32可以实现侧量1hz~5MHz了,在1000hz以内基本正确,到5Mhz时误差也非常小。但是老师说小频率的测量按我们的方法没办法正确实现。
我们是用定时器计数实现的,也就是
测量
设置成1s的定时器的上升沿次数n,通过f=n/1s,得到频率f。

// TIM3_Int_Init(9999,7199);  //定时1s中断一次

// TIM2_Cap_Init();          //外部信号引脚脉冲测量TIM2_CH1_ETR ;配置TIM2_CH1_ETR为外部脉冲计数

老师现在给我们的建议是,大频率计数(也就是我们现在已经实现的方法),小频率计时(也就是我想询问的方法)

求怎么实现小频率计时呢???

ps:老师解释说可以捕获一个上升沿和下升沿的时间,然后就能用f=1/t得到频率啦。


最佳答案

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

这是定时器自带的功能,参考我们的输入捕获实验
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-8-1 17:18:00 | 显示全部楼层
负见华 发表于 2019-8-2 10:18
就是不太明白捕获上升沿和下升沿的时间该怎么计时

这是定时器自带的功能,参考我们的输入捕获实验
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-8-2 02:19:59 | 显示全部楼层
你老是不是都说了么?
回复

使用道具 举报

2

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2019-6-29
在线时间
13 小时
 楼主| 发表于 2019-8-2 10:18:10 | 显示全部楼层
正点原子 发表于 2019-8-2 02:19
你老是不是都说了么?

就是不太明白捕获上升沿和下升沿的时间该怎么计时
回复

使用道具 举报

2

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2019-6-29
在线时间
13 小时
 楼主| 发表于 2019-8-3 14:20:16 | 显示全部楼层
正点原子 发表于 2019-8-3 02:10
这是定时器自带的功能,参考我们的输入捕获实验

哦哦,好的
回复

使用道具 举报

0

主题

12

帖子

0

精华

新手入门

积分
1
金钱
1
注册时间
2019-7-23
在线时间
2 小时
发表于 2019-8-3 15:06:24 | 显示全部楼层
关注·++
回复

使用道具 举报

8

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2019-4-19
在线时间
8 小时
发表于 2019-8-8 11:57:20 | 显示全部楼层
负见华 发表于 2019-8-2 10:18
就是不太明白捕获上升沿和下升沿的时间该怎么计时

楼主能大致说一下怎么用单片机实现频率计的吗?是通过在特性的时间内,对输入信号的上升沿捕获计数实现的吗?很好奇这种方法能计算到5MHz吗
回复

使用道具 举报

2

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2019-6-29
在线时间
13 小时
 楼主| 发表于 2019-8-8 14:18:47 | 显示全部楼层
www12345 发表于 2019-8-8 11:57
楼主能大致说一下怎么用单片机实现频率计的吗?是通过在特性的时间内,对输入信号的上升沿捕获计数实现的 ...

就是我开了两个定时器TIM2和TIM3,一个开中断用来计时,设置了1s,一个用来捕获上升沿,也就是1s内上升沿的次数n,这样,就可以得到频率f=n/1s。我的程序最后出来的频率值可以测到5M的,虽然有误差,但是我觉得可以忽略,不过小频率就不是很准,比如说1.1hz只能出来1hz这样
回复

使用道具 举报

10

主题

561

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1832
金钱
1832
注册时间
2014-6-27
在线时间
980 小时
发表于 2019-8-10 10:13:18 | 显示全部楼层
频率高都能搞定,频率低只能更容易搞定,不要想复杂了。
回复

使用道具 举报

2

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2019-6-29
在线时间
13 小时
 楼主| 发表于 2019-8-31 20:25:28 | 显示全部楼层
TinyBoy 发表于 2019-8-10 10:13
频率高都能搞定,频率低只能更容易搞定,不要想复杂了。

谢谢
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-10 08:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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