STM32怎么测稍微高点的频率啊?

2019-08-14 05:28发布

STM32测1MHZ以上。
有谁有思路啊?
我用开定时器,记1秒时间。
1秒钟计算低跳变次数。
但还是达不到1MHz。
//*********************************

已经弄出来咯,采用定时器的外部时钟计数,STM32测到11MHz以上(有时候可以,有时候不知道为啥测到6M就来不起了, 不知道是不是屏幕显示的 用的时间多的原因)

10楼有源程序.....
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
29条回答
lsj9383
1楼-- · 2019-08-14 07:19
嗯。
我写的比较简单。
直接用的delay_ms(1000)来计1S。

用的TIM2定时器。 PA1引脚输入频率。(TIM2->CH2即TI2)

要用其他定时器或者引脚的话,就要改程序。

tian123chi
2楼-- · 2019-08-14 12:55
不是两个AD口嘛?
sixear
3楼-- · 2019-08-14 15:31
外接ADC
正点原子
4楼-- · 2019-08-14 20:19
 精彩回答 2  元偷偷看……
lsj9383
5楼-- · 2019-08-15 01:31
回复【2楼】tian123chi:
---------------------------------
回复【3楼】sixear:
---------------------------------
接ADC干嘛....我是测频 又不是测电压.....



回复【4楼】正点原子:
---------------------------------
外部计数指的是外部时钟模式吗?
刚刚把外部时钟模式调了下。
Eric2013
6楼-- · 2019-08-15 01:40
1. 可以用ADC来检测, F1的双ADC快速交替采样速度可以超到3.15M, 
2. 不过你测试1M的就有点困难了 每个频率周期才采样3.15个点,太少了,至少也得10个点。
3. 采样的数据做FFT变换,做FFT变换的点数越多,测得频率越准,不过CPU压力太大,也有其它的频率估算方法。
    得需要参考文献资料