单片机是F407,输入捕获用定时器5的CH1,该定时器最高频率84M,也就是精度最高应该能达到1/84M=0.012us。用原子哥的例程直接跑,由于是上升沿和下降沿分开捕获,中间切换的时候会有计数值丢失,优化了下代码,能捕获2us以上的脉冲。小于该值捕获值不正确。
然后我把捕获改为边沿捕获,计数器不清0,采用两个计数值相减的方式,这种方式可以最小捕获0.84us,小了就捕获值不对。
但是各种实验都比理论最高精度0.012us相差甚远,最小捕获值和精度是两个概念,如果一个计数值之后发生捕获,最小捕获值应该是0.012us。
不知道是哪里有问题,有什么方法提高最小捕获值。想捕获0.5us就行了。
请高手帮我分析分析。谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>