STM32F407 测频问题

2019-07-20 09:24发布

本人新手,碰到一个测频问题。特来向大家请教。

   我打算测1HZ的频率,我是想利用定时器捕获计数的方式  只检测脉冲沿上升沿。 然后每一个脉冲的上升沿时候进入中断计算我计数的多少。

实际操作的时候发现TIM1 - TIM8 都是16位定时器,计数值达不到这么高。由于测频的精度要求比较高。所以不打算使用软件方式计算溢出多少次。

请问有啥其他的办法解决吗?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
Electronic
1楼-- · 2019-07-20 12:44
你可以尝试使用高级定时器的重复计数器实现定时器溢出的次数,这样就不用软件计算溢出的次数了,把重复计数器的计数值到最大,定时器每溢出一次重复计数器就会减一,从而就知道脉宽。
另外一种方法就是使用定时器的级联,一个定时器作为另外一个定时器的预分配,其实也是一个定时器溢出,另外一个定时器计数,从而测量脉宽,两种方法应该都可以,具体的你可以试下。
在这就是F407有32位的定时器,TIM2和TIM5都是32位的定时器,你看看手册。
CCCL
2楼-- · 2019-07-20 15:35
Electronic 发表于 2018-3-1 09:09
你可以尝试使用高级定时器的重复计数器实现定时器溢出的次数,这样就不用软件计算溢出的次数了,把重复计数 ...

谢谢你的回答。32位定时器只能到84MHZ计数 理论分辨率只有10几个ns。 我打算用级联定时器的方式去做 TIM1 - TIM2 级联成32位计数器 168MHZ 这样分辨率提高了一倍。重复计数器的话最大只能255  这样计数值也达不到  我是打算TIM1 计数50000  TIM2 计数3360 然后通过TIM1去捕获输入信号进入中断计算,实现1HZ测频。
Electronic
3楼-- · 2019-07-20 15:59
 精彩回答 2  元偷偷看……

一周热门 更多>