用STM32 采集方波的 频率

我要计算方波的频率,用中断+定时器。定时1S,用中断计算,在这一秒中内,进行了几次中断,然后计算出频率。但调试时,每次计算出来的频率相差都很大。这种方法可行么?... 我要计算方波的频率,用中断+定时器。 定时1S ,用中断计算,在这一秒中内,进行了几次中断,然后计算出频率。 但调试时,每次计算出来的频率相差都很大。 这种方法可行么? 展开
 我来答
karl_zhang2003
推荐于2017-11-26 · TA获得超过373个赞
知道小有建树答主
回答量:190
采纳率:100%
帮助的人:162万
展开全部
这么做不太好,我之前也是这么做的跟你出了一样的问题,是因为你的程序频繁进中断,而中断处理是需要时间的,在此期间过来的频率脉冲可能会被忽略。
后来我改成用两个定时器,定时器1设为1秒钟定时模式,定时器2设为外部计数模式。
当一秒钟定时达到时,进入定时器1中断,计算定时器2输入端口的下降沿个数
下降沿个数 =(65536-定时器2初值)*进入定时器2中断的次数+(进入定时器1中断时定时器2的数值-定时器2初值)
该数值就是我们所需要的频率值,我用这个方法误差在1%以内,精度还可以。
然后再次给定时器1中断中给定时器1和定时器2赋值。
cqpcy
2013-08-09 · TA获得超过658个赞
知道小有建树答主
回答量:746
采纳率:66%
帮助的人:358万
展开全部
在定时器开启时使能中断,开始计数 。定时时间到关中断

中断中计数,定时时间到 读计数值,算频率
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ATF144X
2013-08-09 · TA获得超过1.2万个赞
知道大有可为答主
回答量:5344
采纳率:77%
帮助的人:4605万
展开全部
设置定时器使用的时钟源位ETR输入,这样让这个定时器计数,再用另一个定时器计时。这样就准确了吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式