OpenEdv-开源电子网

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

关于测脉冲频率的问题

[复制链接]

6

主题

16

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-7-26
在线时间
4 小时
发表于 2016-7-26 20:42:53 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 potato520 于 2016-7-26 21:07 编辑

void TIM3_IRQHandler(void)

{

if(TIM_GetITStatus(TIM3,TIM_IT_CC1)!=RESET)//TIM3CH2

{TIM_ClearITPendingBit(TIM3,TIM_IT_CC1);//清除中断标志

if(capture1_loop==0)

{Ic1readvalue1=TIM_GetCapture1(TIM3);//得到第一次计数值

capture1_loop=1;}

else{

if(capture1_loop==1)

{Ic1readvalue2=TIM_GetCapture1(TIM3);//第二次计数值

if(Ic1readvalue2>Ic1readvalue1)

{Capture1=(Ic1readvalue2-Ic1readvalue1);}

else{Capture1=((0XFFFF-Ic1readvalue1)+Ic1readvalue2);}

ch1freq=1000000/Capture1;

capture1_loop=0;

}

usRegInputBuf[17]=ch1freq;

}

}

//不知道为何测得的频率一直都不稳定,误差也很大,完全不是我希望的情况//我是用PWM当脉冲源的

//求大神提供意见,或者分享一下类似的代码。我主要的测量范围在100khz到300khz。

最佳答案

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

我实验成功了,输入捕获可以,只不过定时器最好不要分频,保持72MHZ,最高的触发频率。。。这样可以保证精确到0.5khz左右
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

16

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-7-26
在线时间
4 小时
 楼主| 发表于 2016-7-26 20:42:54 | 显示全部楼层
一尘如故 发表于 2016-7-28 16:20
不能,我也在学用PWM测

我实验成功了,输入捕获可以,只不过定时器最好不要分频,保持72MHZ,最高的触发频率。。。这样可以保证精确到0.5khz左右
回复

使用道具 举报

6

主题

16

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-7-26
在线时间
4 小时
 楼主| 发表于 2016-7-26 20:44:16 | 显示全部楼层
本帖最后由 potato520 于 2016-7-26 20:48 编辑

在线等。。。
回复

使用道具 举报

6

主题

16

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-7-26
在线时间
4 小时
 楼主| 发表于 2016-7-26 20:52:59 | 显示全部楼层
我使用的是定时器的捕获功能。
回复

使用道具 举报

6

主题

16

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-7-26
在线时间
4 小时
 楼主| 发表于 2016-7-26 22:03:21 | 显示全部楼层
有人吗???急求。。。本人新手。
回复

使用道具 举报

2

主题

391

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1957
金钱
1957
注册时间
2014-8-8
在线时间
307 小时
发表于 2016-7-27 08:21:08 | 显示全部楼层
误差大的原因应该是你定时器设置计数值的问题,要算好测量频率对应的最大计数值
回复

使用道具 举报

6

主题

16

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-7-26
在线时间
4 小时
 楼主| 发表于 2016-7-27 08:41:35 | 显示全部楼层
365mcu 发表于 2016-7-27 08:21
误差大的原因应该是你定时器设置计数值的问题,要算好测量频率对应的最大计数值

那用这种输入捕获的方式,能达到300khz的脉冲准确的测量吗?
回复

使用道具 举报

4

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2016-3-17
在线时间
19 小时
发表于 2016-7-28 16:20:04 | 显示全部楼层
potato520 发表于 2016-7-27 08:41
那用这种输入捕获的方式,能达到300khz的脉冲准确的测量吗?

不能,我也在学用PWM测
回复

使用道具 举报

4

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2016-3-17
在线时间
19 小时
发表于 2016-7-29 15:54:27 | 显示全部楼层
potato520 发表于 2016-7-28 21:52
我实验成功了,输入捕获可以,只不过定时器最好不要分频,保持72MHZ,最高的触发频率。。。这样可以保证精 ...

定时器本来就不分频啊,你用输入捕获测的
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 22:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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