输入捕获实验的最小捕获时间问题请教

2019-07-20 15:59发布

单片机是F407,输入捕获用定时器5的CH1,该定时器最高频率84M,也就是精度最高应该能达到1/84M=0.012us。用原子哥的例程直接跑,由于是上升沿和下降沿分开捕获,中间切换的时候会有计数值丢失,优化了下代码,能捕获2us以上的脉冲。小于该值捕获值不正确。

然后我把捕获改为边沿捕获,计数器不清0,采用两个计数值相减的方式,这种方式可以最小捕获0.84us,小了就捕获值不对。
但是各种实验都比理论最高精度0.012us相差甚远,最小捕获值和精度是两个概念,如果一个计数值之后发生捕获,最小捕获值应该是0.012us。
不知道是哪里有问题,有什么方法提高最小捕获值。想捕获0.5us就行了。
请高手帮我分析分析。谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
正点原子
1楼-- · 2019-07-20 18:00
直接用定时器的PWM输入模式,来捕获。这种捕获一个电平(两个边沿),是不需要产生中断的。他通过2个CCRx,一个来存储上升沿时的CNT值,另外一个存储下降沿时的CNT值,来实现脉宽统计,这种方式就是STM32能分辨的最高能力了。
wei816
2楼-- · 2019-07-20 21:28
 精彩回答 2  元偷偷看……

一周热门 更多>