stm32 怎样测量正弦波的频率

 我来答
AnyWay中国
推荐于2017-11-25 · TA获得超过5.8万个赞
知道大有可为答主
回答量:9497
采纳率:92%
帮助的人:4766万
展开全部
先将正弦波通过滞回比较器转变为方波。必要的话,在滞回比较器之前还可以加上低通滤波器
方波频率测量采用单片机定时器的捕获输入模式,每次捕获中断时,计时器当前捕获值减去上一次的捕获值,得到信号周期,求倒数,就是频率,退出中断前,记得保存当前的定时器捕获值。
若精度要求不是很高,也可采用外部中断输入,中断设为边沿触发,在中断中,及时读取定时器的计数值并相减。缺点是,每次信号来临到中断响应进入中断服务程序的时间可能不等,照成计时不准确。如果单片机没有其它中断,一般只会差别1~2个时钟周期,精度较高。如果还有其它中断,信号边沿来临时,正好在执行其它中断服务程序,就会产生较大的影响。
光子的本性
2012-08-15 · 超过25用户采纳过TA的回答
知道答主
回答量:130
采纳率:100%
帮助的人:35.4万
展开全部
测量频率的方法有多种,要看测量速度、精度、成本等要求而定。楼下的是一种廉价方案,特点是测试速度慢,只能测试缓慢变化的待测正弦信号。stm32的定时器功能很强,不用在中断中软件读取计数值,可以设置成捕捉模式,直接得到误差最大只有一个计数周期的值,具体要查datasheet。顺便提一下下,stm32的中断响应周期不只1-2个周期,这可以查datasheet具体多少,并且stm32中有dma控制器会和core争总线时间,(还有其他不确定因素就不一一列举了)所以不确定因素要比经典51单片机复杂得多,最好定时工作都交给硬件完成,对软件的可移植性有好处。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式