STM32定时器特定频率时误差较大

2019-07-14 14:04发布

我想用STM32产生一个可以调频的方波,最小单位是1Hz。本来想着这个是很好处理的,结果发现,当我需要一些特定频率时,就有比较大的误差了,例如521Hz 523Hz等等....这有什么好的方法可以解决呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
Tutut
1楼-- · 2019-07-14 20:56
嘻嘻爱哈哈 发表于 2019-2-21 17:01
这个单靠定时器很难。毕竟定时计数是整数步数,对除不尽的浮点数很难精确。
使用专门的频率发生电路(频率发生器)等途径实现吧。

好的,谢谢。你有什么好的电路可以介绍一下吗
嘻嘻爱哈哈
2楼-- · 2019-07-15 02:37
Tutut 发表于 2019-2-21 17:20
好的,谢谢。你有什么好的电路可以介绍一下吗

美信的MAX038 (High-Frequency Waveform Generator)
0.1Hz to 20MHz Operating Frequency Range
电路-网上应该比较好找,度娘。
Tutut
3楼-- · 2019-07-15 05:45
嘻嘻爱哈哈 发表于 2019-2-21 17:27
美信的MAX038 (High-Frequency Waveform Generator)
0.1Hz to 20MHz Operating Frequency Range
电路-网上应该比较好找,度娘。

谢谢
boju81
4楼-- · 2019-07-15 11:21
 精彩回答 2  元偷偷看……
嘻嘻爱哈哈
5楼-- · 2019-07-15 13:08
boju81 发表于 2019-2-21 17:49
对了,把输出1HZ之类的定时器代码发上来看看,用了级联?

直接配置 ARR PSC CCR就可以得到了,不需要级联。
手册上有PWM输出的频率值如何计算的。
boju81
6楼-- · 2019-07-15 18:14
嘻嘻爱哈哈 发表于 2019-2-21 18:06
直接配置 ARR PSC CCR就可以得到了,不需要级联。
手册上有PWM输出的频率值如何计算的。

好,我去看看手册

一周热门 更多>